【发布时间】:2015-04-09 09:01:53
【问题描述】:
我的两个实体之间存在多对一关系。现在我希望在没有更多孩子时移除父母。
我的情况:
班级联系人
班级组织
一个组织有几个联系人,每个联系人都有一个组织。当一个组织的所有联系人都被删除时,我希望该组织也被删除。这可以通过使用级联或类似的东西来实现吗?
谢谢,巴斯蒂
【问题讨论】:
标签: java hibernate cascade many-to-one
我的两个实体之间存在多对一关系。现在我希望在没有更多孩子时移除父母。
我的情况:
班级联系人
班级组织
一个组织有几个联系人,每个联系人都有一个组织。当一个组织的所有联系人都被删除时,我希望该组织也被删除。这可以通过使用级联或类似的东西来实现吗?
谢谢,巴斯蒂
【问题讨论】:
标签: java hibernate cascade many-to-one
你可以这样做:
1) 在 Organization.java 中
@OneToMany(cascade = CascadeType.ALL, mappedBy = "organization", orphanRemoval = true)
private List<ContactPerson> contactPerson= new ArrayList<ContactPerson>();
和
2) 在 ContactPerson.java
@ManyToOne
private Organization organization;
【讨论】:
Organization 被删除,或者ContactPerson 从列表中删除并且未添加到其他组织(孤立),这只会删除ContactPerson,但不会删除Organization。