- 关系的所有权取决于将“ mappedBy”属性放置在注释中的位置。您放置“ mappedBy”的实体不是所有者。双方都没有机会成为所有者。如果您没有“删除用户”用例,则可以简单地将所有权移至
Group
实体,因为当前User
是所有者。 - 另一方面,您没有问过这个问题,但是有一件事值得知道。的
groups
和users
不与彼此组合。我的意思是,从Group1.users中删除User1实例后,User1.groups集合不会自动更改(这对我来说很令人惊讶), - 总而言之,我建议您确定谁是所有者。假设
User
是所有者。然后,在删除用户时,关系用户组将自动更新。但是,在删除组时,您必须像这样删除自己的关系:
entityManager.remove(group)for (User user : group.users) { user.groups.remove(group);}...// then merge() and flush()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)