JPA 更新双向关联
假设我们有以下实体:
@Entity
public class Department {
@OneToMany(mappedBy="department")
private List<Employee> employees;
}
@Entity
public class Employee {
@ManyToOne
private Department department
}
在更新中,我们需要维护关系的双方是可以理解的,如下所示:
Employee emp = new Employee();
Department dep = new Department();
emp.setDepartment(dep);
dep.getEmployees().add(emp);
到目前为止,一切都很好。问题是,我是否应该在两端应用合并,如下所示,并且我避免与级联的第二次合并?
entityManager.merge(emp);
entityManager.merge(dep);
还是合并拥有方就足够了?此外,这些合并是否应该在事务或 EJB 内部进行?或者,在具有分离实体的简单控制器方法上执行此操作就足够了吗?