@Transactional public void updateStaticTree() { List<TreePoisonDTO> treePoisons = new ArrayList<TreePoisonDTO>(); List<TreePoisonDTO> poisonTrees = new ArrayList<TreePoisonDTO>(); try { treePoisons = treeService.get(); poisonTrees = poisonService.getTreePoisons(); } catch (NoSuchObjectException e) { e.printStackTrace(); } // Обновляем связи объекта PoisonDTO TreePoisonDTO poisonTreeDTO1 = poisonTrees.get(0); poisonTreeDTO1.setTreeDTO(treePoisons.get(0).getTreeDTO()); poisonTreeDTO1.setPoisonDTO(poisonTrees.get(0).getPoisonDTO()); List<TreePoisonDTO> treePoisonDTOs1 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs1.add(poisonTreeDTO1); TreePoisonDTO poisonTreeDTO2 = poisonTrees.get(1); poisonTreeDTO2.setTreeDTO(treePoisons.get(1).getTreeDTO()); poisonTreeDTO2.setPoisonDTO(poisonTrees.get(1).getPoisonDTO()); List<TreePoisonDTO> treePoisonDTOs2 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs2.add(poisonTreeDTO2); // Обновляем связи объекта TreeDTO TreePoisonDTO treePoisonDTO1 = treePoisons.get(0); treePoisonDTO1.setPoisonDTO(poisonTreeDTO1.getPoisonDTO()); treePoisons.set(0, treePoisonDTO1); TreePoisonDTO treePoisonDTO2 = treePoisons.get(1); treePoisonDTO2.setPoisonDTO(poisonTreeDTO2.getPoisonDTO()); treePoisons.set(1, treePoisonDTO2); try { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); poisonService.update(treePoisonDTOs1, poisonPestDTOs); poisonService.update(treePoisonDTOs2, poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } try { List<TreePoisonDTO> treePoisons1 = new ArrayList<TreePoisonDTO>(); treePoisons1.add(treePoisons.get(0)); treeService.update(treePoisons1); List<TreePoisonDTO> treePoisons2 = new ArrayList<TreePoisonDTO>(); treePoisons2.add(treePoisons.get(1)); treeService.update(treePoisons2); } catch (NoSuchObjectException e) { e.printStackTrace(); } }