我开始学习hibernate,我想澄清一些简单的谷歌搜索无法解决的问题。这些问题涉及 deleteOrphan、级联类型和不同关联映射类型的交互。让我开始吧。提前真诚感谢。
@Entity
@Table(name = "t_member", schema = "church")
public class Member implements Serializable {
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "t_event_members", joinColumns = {
@JoinColumn(name = "member_id")
}, inverseJoinColumns = {
@JoinColumn(name = "event_id")
})
private Set<Event> events;
}
@Entity
@Table(name = "t_event", schema = "church")
public class Event implements Serializable {
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "events",
cascade = CascadeType.ALL)
private Set<Member> members;
}
- 成员是拥有方。在活动会话期间,我检索了一个成员。如果我从成员集合中删除一个事件并执行 saveOrUpdate 是否会从该事件中删除相应的成员?
- 在这种情况下,“拥有方”如何影响级联?
- 当我们将 orphanDelete 与 CascadeType 混合时会发生什么?