0
我对关系中管理实体感到困惑。根据 PRO JPA2,关系应在关系的两端手动配置和分配。关于JPA2关系管理
现在,考虑这种关系。
@Entity
public class Employee {
..
@ManyToOne(cascade=CascadeType.PERSIST)
private Department department;
..
}
@Entity
public class Department {
..
@OneToMany(mappedBy="department")
private Set<Employee> employees = new HashSet<Employee>();
public void addEmployee(Employee e){
getEmployees().add(e);
e.setDepartment(this);
}
}
我做了一个简单的测试用例,涉及到这一行代码来验证这一点。
Department dept1 = new Department();
dept1.setName("MARKETING");
Employee e1 = new Employee();
e1.setName("JOHN DOE");
e1.setDepartment(dept1); //[1]
//dept1.addEmployee(e1); //[2]
考虑行[1]: 我认为这将无法与正确的部门ID更新Employee表,但我查了德比,这是 能够正确执行更新
考虑行[2]: 根据这本书,这是正确的方法。
任何人都可以帮助清除我的疑问吗?
的EclipseLink /德比/ JPA2
啊..所以这就是原因..谢谢Damian。 –
@MarkEstrada没问题! – Damian