在 hibernate/JPA 中的双向关系上,您指定了哪个实体(或两者?)获取模式和级联类型?一个例子:
@Entity
@Table(name="EMPLOYER")
public Employer implements Serializable
{
@OneToMany(mappedBy="employer")
private Set<Employee> employees;
}
@Entity
@Table(name="EMPLOYEE")
public Employee implements Serializable
{
@ManyToOne
@JoinColumn(name="employer_id", referencedColumnName="id")
private Employer employer;
}
我是否将获取模式和级联类型放在关系的所有者(Employee)上?还是我把它们放在反面(雇主)上?还是(可以?)我把它们都放在上面?我对 JPA/Hibernate 中的级联感到很困惑。我猜我可以在两者上都设置获取模式,这将决定雇主如何获取员工集以及员工如何获取他的雇主。我做出这个假设是因为 @OneToMany 和 @ManyToOne 已经有默认的获取模式。
我不清楚级联类型是如何工作的。这是否同时发生并决定了雇主的级联和雇员的级联?任何帮助深表感谢。
父/子关系以及级联如何修改它们对我来说是最令人困惑的部分。