Hibernate 一对多级联删除
2014-03-27 11:21
239 查看
Hibernate 一对多级联删除
实例一
背景:系统中有post表和replay表。分表表示帖子和帖子回复的表。一篇帖子可以有多个回复。
要求:
现在要求删除一篇帖子的同时删除对应的replay表中该帖子的所有回复。
实现:
在post.hbm.xml中这样配置 (即在“一方”的hbm.xml文件中)
<set name="replaies" inverse="true" cascade="all" > 或者:cascade="delete"
操作删除的代码
Post post=postDAO.findById(postId); postDAO.delete(post);
这样就会将某篇帖子及其回复全部删除了。
实例二
背景:系统中有post表和replay表。分表表示帖子和帖子回复的表。一篇帖子可以有多个回复。
要求:
打开某篇帖子,删除了其中的某一条“回复”。这时候要同时删除该主题贴以及所有回复。(不太符合常理)。
实现:
在post.hbm.xml中这样配置 <set name="replaies" inverse="true" cascade="all" > 或者:cascade="delete" 在replay.hbm.xml中这样配置 <many-to-one name="post" class="com.lhp.hibernate.beans.Post" fetch="select" lazy="false" cascade="delete" > <column name="postId" not-null="true" /> </many-to-one>
操作删除的代码
Replay replay=replayDAO.findById(replayId); replayDAO.delete(replay);
解读:在这个“一对多”关系中,“一方”和“多方”都设置了级联删除。那么删除了“多方”中的一条记录,就会级联删除“一方”中的记录,然后“一方”又会级联删除“多方”的所有记录。
转:http://www.cnblogs.com/lhp2012/archive/2012/01/03/2311061.html
相关文章推荐
- 【极客营】Hibernate完成CRM的联系人的保存操作-技术分析之级联删除
- Hibernate 一对多级联删除
- hibernate 级联删除策略(注解版、数据库版)
- Hibernate 级联删除失败问题
- hibernate 级联删除报更新失败的问题(org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update)
- hibernate 级联删除策略(注解版、数据库版)
- hibernate 多对一级联删除;
- Hibernate 级联添加删除
- Hibernate级联(删除)
- hibernate 自身级联删除
- hibernate级联删除错误
- hibernate 双向一多对关联 删除一端时级联删除多端
- Hibernate 级联删除
- 关于hibernate删除对象不级联的问题
- Hibernate如果进行一对多级联删除
- hibernate 双向一多对关联 删除一端时级联删除多端
- 关于hibernate的级联删除
- 再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN
- 处理hibernate多重级联关系下的删除解决方法
- Hibernate 一对多级联更新(更新,删除多方数据)的错误解决