Я использую весеннюю загрузку с весенними данными 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);
});
}
Если вставлено, есть ли способ избежать его использования?