使用Hibernate和级联删除时,是否有可能从所有其他引用它的实体中删除级联删除的实体?
以此图为例:
User
有MembershipOffer
加入Group
。在我的模型中可以删除具有待处理商品的组,当发生这种情况时,我也希望删除已删除组的所有商品。
我理解为了做到这一点,我需要将MembershipOffer-Group
关联更改为双向并在其上设置cascade
标志。但是,当MembershipOffer被删除时,User
对它的引用会怎样?
我认为Hibernate不会浏览每个对已删除对象的引用,并将其从适当的集合中删除。我是否必须手动删除引用,或者是否有自动删除方法?
注意:
我正在使用关系数据库,从纯粹基于SQL的外观我没有看到问题。 MembershipOffer
表包含用户和组的FK。删除组时,包含其FK的所有商品也是如此。删除后,将删除Offer和User之间的链接。我遇到的问题是,代码User
中有一个字段Set<MembershipOffer> membershipOffers
,其中可能包含对刚刚删除的商品的引用(如果我尝试访问它将无效)。