Spring Data JPA изоляция - PullRequest
1 голос
/ 18 июня 2020

Я использую весеннюю загрузку с весенними данными jpa с гибернацией и oracle

Мне нужно взять данные из таблицы данных с несколькими миллионами записей и записать данные в файл. После того, как данные записаны, мне нужно удалить строку. Я использую поток для получения данных.

Во время этого процесса некоторые другие данные могут быть вставлены в таблицу (другой программой).

Не знаю, если при потоковой передаче базы данных к запросу добавляются новые вставки.

Я думал сделать что-то вроде

public void processData(){

  //create file    

  Stream<Billing> billingStream = billingRepository.getAll();

  billingStream.forEach( billing-> {

    //write billing row to file

    //delete billing row; //should be remove in memory
    entityManager.remove(billing);

  });

}

Если вставлено, есть ли способ избежать его использования?

...