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

休眠:如何确保在父级的所有子实体都删除后不删除父级?

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

休眠:如何确保在父级的所有子实体都删除后不删除父级?

当前,当我删除狗实体时,其相关的狗窝实体也将被删除。

原因是您已

cascade=CascadeType.ALL
设置
ManyToOne
注释。这样,我们告诉ORM,当我们删除(或任何其他操作)时,
Dog
它也应该将相同的操作传播到
Kennel
实体。

Remove cascade attribute in ManyToOne(cascade = CascadeType.ALL ).

我可以保持狗舍中显示的@oneToMany关系相同吗?

您可能需要考虑的更改很少。

  • 无需具有
    JoinColumn
    在两个注释
    oneToMany
    ManyTone
    侧面。
  • 考虑
    mappedBy="kennel"
    OneToMany
    注释中使用属性,并
    JoinColum
    OneToMany
    侧面删除注释。这使得
    ManyToOne
    拥有方,并且在持久化
    kennel
    实体时所生成的SQL效率也更高。您可以通过启用自己进行检查
    show_sql
  • 关于
    cascade
    将属性
    OneToMany
    设置为
    ALL
    MERGE
    PERSIST, MERGE
    取决于要传播到子实体的父实体上的操作的属性。
  • 不知道您是否已经实现了脚手架代码/方法来添加/更新
    oneToMany
    关系。如果不是,则最好实现它们,因为这样可以确保在两端都更新关联。如果需要,请参考脚手架代码。


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

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

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