Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @OneToMany(mappedBy = "department", fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
- private List<Employee> employeeList = new ArrayList<Employee>(0);
- @JoinColumn(name = "department_id", referencedColumnName = "department_id")
- @ManyToOne(fetch = FetchType.LAZY)
- private Department department;
- public Employee update(Employee employee) {
- Department department = employee.getDepartment();
- if (department == null) {
- Employee managedEmployee = entityManager.find(Employee.class, employee.getEmployeeId());
- // Obtain the original Employee entity which may still have its Department intact.
- if (managedEmployee == null) {
- throw new EntityNotFoundException();
- }
- Department managedDepartment = managedEmployee.getDepartment();
- if (managedDepartment != null) {
- managedEmployee.getDepartment().getEmployeeList().remove(managedEmployee);
- // Removing an Employee entity from the list on the inverse side,
- // since it will no longer be pointing to Employee after Employee is merged.
- }
- return entityManager.merge(employee);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement