论坛首页 Java版 Hibernate

在hibernate3中怎么实现一次性删除外键关联记录

浏览 2963 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2005-06-28
表A与表B是一对多
表B中有一字段bidder跟表A的ID关联
在A.hbm.xml中
<set name="bs" inverse="true" cascade="save-update">
      <key>
      <column name="bidder" not-null="true" unique="true" />
      </key>
      <one-to-many class="B"/>
</set>
中B.hbm.xml中
<many-to-one name="a" class="A">
           <column name="bidder" not-null="true" unique="true" />
</many-to-one>
在更新表A时将表B中所有关联的记录删除。
   
最后更新时间:2005-06-28
我的是
<set name="bs" inverse="true" cascade="all">
...
</set>

然后使用的时候直接
B b = getRoom(bid);
baseDao.deleteEntity(b);
就OK了。
   
0 请登录后投票
最后更新时间:2005-06-29
我知道A的ID,也就是知道B外键bidder,想一次性通过A的ID删除表B中所有关联的记录。
   
0 请登录后投票
最后更新时间:2005-07-05
难道和我说的有什么区别吗?看看hibernate先。
   
0 请登录后投票
最后更新时间:2005-07-05
这样就会将主表的数据也删除,我只希望删除关联表的数据
   
0 请登录后投票
最后更新时间:2005-07-05
inverse="true"去掉,级联改为all-delete-orphan,ok
   
0 请登录后投票
最后更新时间:2005-07-06
这样就可以不删除A表的数据,只删除B表的数据了吗?
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐