【发布时间】:2012-01-16 02:49:18
【问题描述】:
假设有两个实体,Department 和 Employee,其中一个部门有 N 个员工。
在部门:
@OneToMany(mappedBy = "department", fetch = FetchType.EAGER)
private Collection<Employee> employees = new ArrayList<Employee>();
在员工中:
@ManyToOne(fetch = FetchType.EAGER)
private Department department;
一切正常,但我想在不设置反向关系的情况下将员工添加到部门。例如:
// I will add two employees to a department
department.getEmployees().add(employee1);
department.getEmployees().add(employee2);
// In fact, it is necessary to set the opposite side of the relationship
employee1.setDepartment(department);
employee2.setDepartment(department);
entityManager.merge(department);
//...
所以,我的问题是:JPA 是否会通过某种方式(例如通过一些注释)理解它应该在没有我明确说明的情况下将更改传播到关系的另一端?换句话说,我只想这样做:
department.getEmployees().add(employee1);
department.getEmployees().add(employee2);
entityManager.merge(department);
非常感谢!
【问题讨论】:
标签: hibernate jpa annotations one-to-many