美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

关于Hibernate级联删除的问题

Hibernate级联删除,tenyo ,删除某一条数据,则其子表的所有级联数据全部自动删除。这样的需求在Hibernate里可以使用cascade简单地加以实现。下面就Hibernate级联删除的问题举例进行说明。

比如有下面四个表:

 
 
 
  1. A(id, name)   
  2. AA(id, name, a_id)   
  3. B(id, name, a_id)   
  4. BB(id, name, b_id)  

假设它们之间的关系是:

 
 
 
  1. A:AA=one-to-many   
  2. A:B=one-to-one(外键定义one-to-one关系)   
  3. B:BB= one-to-many  

A.hbm.xml

 
 
 
  1. …   
  2.  name="aaSet" lazy="true" inverse="true"   
  3.         cascade="all-delete-orphan">   
  4.      column="A_ID" not-null="true" />   
  5.      class="AA" />   
  6.    
  7.  name="b"   
  8.     class="B"   
  9.     property-ref="aid">   
  10. …  

B.hbm.xml

 
 
 
  1.  name="bbSet" lazy="true" inverse="true"   
  2.         cascade="all-delete-orphan" >   
  3.      column="B_ID" not-null="true" />   
  4.      class="BB" />   
  5.   

代码:

 
 
 
  1. A a = …;   
  2. session.getTransaction().begin();   
  3. session.delete(a);   
  4. session.getTransaction().commit();  

这样,就会把AA,B,BB里相关数据自动删除。

说明:
 
设置Hibernate级联删除,只需:
 
1.在父端的one-to-one/many-to-one关系:设置cascade=”delete”或cascade=”all”。

2.在父端的one-to-many关系(map, set, list, bag):设置cascade=”all-delete-orphan”或cascade=”all”。
即可。


网站名称:关于Hibernate级联删除的问题
网站URL:http://www.zsjierui.cn/article/cddogds.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上美图齐众。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:028-86922220

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2025 资阳站青羊区美图齐众设计工作室(个体工商户) 资阳网站建设公司-选网站建设公司美图齐众!专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备2025119604号-1