栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在JPA中删除具有ManyToMany关系的实体(以及相应的联接表行)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在JPA中删除具有ManyToMany关系的实体(以及相应的联接表行)?

  • 关系的所有权取决于将“ 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()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号