@Transactional public void updateStaticPoison() { List<TreePoisonDTO> treePoisonDTOs = new ArrayList<TreePoisonDTO>(); try { treePoisonDTOs = poisonService.getTreePoisons(); } catch (NoSuchObjectException e) { e.printStackTrace(); } List<PoisonPestDTO> pestPoisons = new ArrayList<PoisonPestDTO>(); try { pestPoisons = pestService.get(); } catch (NoSuchObjectException e) { e.printStackTrace(); } // Обновляем связи объекта PestDTO for (int i = 0; i < pestPoisons.size(); i++) { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); PoisonPestDTO poisonPestDTO = new PoisonPestDTO(); poisonPestDTO.setPestDTO(pestPoisons.get(i).getPestDTO()); if (i < 2) { poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(0).getPoisonDTO()); } else { poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(1).getPoisonDTO()); } poisonPestDTOs.add(poisonPestDTO); try { pestService.update(poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } } // Обновляем связи объекта PoisonDTO for (int i = 0; i < 2; ++i) { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); for (int j = i * 2; j < (i * 2) + 2; ++j) { PoisonPestDTO poisonPestDTO = new PoisonPestDTO(); poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(i).getPoisonDTO()); poisonPestDTO.setPestDTO(pestPoisons.get(j).getPestDTO()); poisonPestDTOs.add(poisonPestDTO); } List<TreePoisonDTO> treePoisonDTOs1 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs1.add(treePoisonDTOs.get(i)); try { poisonService.update(treePoisonDTOs1, poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } } }
@Transactional public void addStaticPest() throws ObjectAlreadyExistsException { String[] arrayPests = new String[4]; arrayPests[0] = "Нимфалида"; arrayPests[1] = "Листовертка"; arrayPests[2] = "Медведка"; arrayPests[3] = "Майский жук"; for (String arrayPest : arrayPests) { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); PestDTO pestDTO = new PestDTO(); pestDTO.setName(arrayPest); PoisonPestDTO poisonPestDTO = new PoisonPestDTO(); poisonPestDTO.setPestDTO(pestDTO); poisonPestDTOs.add(poisonPestDTO); pestService.add(poisonPestDTOs); } updateStaticPoison(); }