从引用它的所有集合中自动删除已删除的实体

时间:2016-04-02 09:34:32

标签: java spring hibernate

使用Hibernate和级联删除时,是否有可能从所有其他引用它的实体中删除级联删除的实体?

以此图为例:

enter image description here

UserMembershipOffer加入Group。在我的模型中可以删除具有待处理商品的组,当发生这种情况时,我也希望删除已删除组的所有商品。

我理解为了做到这一点,我需要将MembershipOffer-Group关联更改为双向并在其上设置cascade标志。但是,当MembershipOffer被删除时,User对它的引用会怎样?

我认为Hibernate不会浏览每个对已删除对象的引用,并将其从适当的集合中删除。我是否必须手动删除引用,或者是否有自动删除方法?

注意: 我正在使用关系数据库,从纯粹基于SQL的外观我没有看到问题。 MembershipOffer表包含用户和组的FK。删除组时,包含其FK的所有商品也是如此。删除后,将删除Offer和User之间的链接。我遇到的问题是,代码User中有一个字段Set<MembershipOffer> membershipOffers,其中可能包含对刚刚删除的商品的引用(如果我尝试访问它将无效)。

0 个答案:

没有答案