Solutionunvalidated

Since you have Cascade all you shoud fill the list in LabPanel with the results and save only LabPanel — In the method I create both the `LabPanel` and all the `LabResult`s. Tension: there should be no need to read the updatedLabPanel again after saving. Outcome: labPanelRepository.flush(); LabPanel updatedLabPanel = labPanelRepository.getOne(savedLabPanel.getId()); return ConvertDTOUtil.convertLabPanelToLabPanelDTO(updatedLabPanel);.

24a63bf9-d0c2-4bf2-a577-5f8f9848fc12

Since you have Cascade all you shoud fill the list in LabPanel with the results and save only LabPanel — In the method I create both the LabPanel and all the LabResults. Tension: there should be no need to read the updatedLabPanel again after saving. Outcome: labPanelRepository.flush();

LabPanel updatedLabPanel = labPanelRepository.getOne(savedLabPanel.getId());

return ConvertDTOUtil.convertLabPanelToLabPanelDTO(updatedLabPanel);.