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