Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. @OneToMany(mappedBy = "department", fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
  2. private List<Employee> employeeList = new ArrayList<Employee>(0);
  3.  
  4. @JoinColumn(name = "department_id", referencedColumnName = "department_id")
  5. @ManyToOne(fetch = FetchType.LAZY)
  6. private Department department;
  7.  
  8. public Employee update(Employee employee) {
  9. Department department = employee.getDepartment();
  10.  
  11. if (department == null) {
  12. Employee managedEmployee = entityManager.find(Employee.class, employee.getEmployeeId());
  13. // Obtain the original Employee entity which may still have its Department intact.
  14.  
  15. if (managedEmployee == null) {
  16. throw new EntityNotFoundException();
  17. }
  18.  
  19. Department managedDepartment = managedEmployee.getDepartment();
  20.  
  21. if (managedDepartment != null) {
  22. managedEmployee.getDepartment().getEmployeeList().remove(managedEmployee);
  23. // Removing an Employee entity from the list on the inverse side,
  24. // since it will no longer be pointing to Employee after Employee is merged.
  25. }
  26.  
  27. return entityManager.merge(employee);
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement