假设我们有以下实体:
@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 中吗?或者在一个带有分离实体的简单控制器方法上做就足够了?