Я создал объект DownloadDroplet со ссылкой ManyToOne на Process
@ManyToOne
@JoinColumn(name = "process_id")
private Process process;
И обработайте ссылку «один ко многим» на DownloadDroplet
@OneToMany(fetch = FetchType.EAGER, mappedBy = "process", cascade = CascadeType.ALL)
private Set<DownloadDroplet> downDrops;
У меня есть код, который получает DownloadDroplets от dropletRepo и в конечном итоге сохраняет и сбрасывает обновления базы данных, которые я визуально подтверждаю, обновляются в базе данных
Set<DownloadDroplet> aDownDropSetCompleted = dropletRepo.findByStatusAndRunDateAndType(DropletStatus.COMPLETED, runDateAsDate, FBTDropletType.SETDOWNLOADER);
...
Затем я сохраняю статус процесса
setProcess.setStatus(ProcessStage.GETTINGPRODUCTS);
processRepo.saveAndFlush(setProcess);
и это перезаписывает изменения, сохраненные в этой базе данных, с помощью dropletRepo, фактически отменяя изменения, ранее сохраненные в базе данных.
Поэтому я предполагаю, что поскольку DownloadDroplets имеют отношение к Process, и я сохраняю процесс после сохранения downloaddroplets, у меня возникла эта проблема.
Как мне избежать этой проблемы?
С уважением
Конте