`

Hibernate多对多级联删除

阅读更多
推荐:红番薯       给力吧!
         又一村       遗失的记忆

前阵子,使用Hibernate删除多对多删除的时候遇到了点问题,情况是这样的:
A表和B表存在多对多关系,设计表关联时,创建中间表C,定义两个外键字段A_ID和B_ID,分别关联A表主键和B表主键。

在A表对应的hbm文件中,<set name="Bs" table="C" cascade="delete">...</set>

上面的cascade设定了级联删,本意是想删除A记录时,顺便清除中间表的关联记录,然而并未如此,删除A记录时,不仅删了中间表的记录,连B表中关联的记录也一并被删除了,这样的操作有时是不允许的,如权限和角色,你删了权限,但不能也把角色一并删了吧!

试过N遍,实在没辙,就不设置cascade属性,而是在C表中对A_ID字段添加了级联删的约束,这样就可以实现在删除A表记录时,只删中间表相关的记录,但不会删B表记录。
0
0
分享到:
评论
1 楼 ljm1227134894 2012-07-06  
而是在C表中对A_ID字段添加了级联删的约束,  请问是如何约束的?

相关推荐

    Hibernate 一对多、多对一、级联、加载、反转

    在Java持久化框架Hibernate中,一对多(One-to-Many)、多对一(Many-to-One)、级联(Cascading)、加载(Loading)和反转(Inversing)是关系映射的重要概念,它们对于理解如何在数据库和对象之间有效地管理关联至...

    hibernate 级联(cascade和inverse)一对多

    总结,Hibernate的级联和反转特性对于一对多关系的管理至关重要,它们可以简化开发过程,提高数据操作的效率。通过合理配置,可以确保对象关系的正确同步,并利用JUnit进行测试以确保功能的正确性。在实践中,应根据...

    struts2 hibernate 实现无限级联 树形分类

    总结起来,这个项目通过Struts2和Hibernate框架,实现了对无限级联分类的增删改查操作,其中涉及到数据库设计、ORM映射、MVC架构的运用以及递归算法在视图层的实现。这种无限级联树形分类结构在许多实际应用场景中都...

    Nhibernate一对多级联保存_双向映射[归类].pdf

    在Nhibernate中,一对...总结来说,Nhibernate中的一对多级联保存和双向映射是用于管理复杂对象关系的重要特性。通过恰当的注解配置,可以实现父对象与子对象的自动保存和关系导航,简化了ORM的使用,提升了开发效率。

    新巴巴运动网

    - **多级联查询:** 实现了省市区三级联动的数据查询功能。 - **异步图片上传:** 使用异步技术上传图片至后端服务器,提高用户体验。 - **图片服务器分离:** 将图片存储于独立的图片服务器上,优化资源加载速度...

Global site tag (gtag.js) - Google Analytics