首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 级联删除有关问题deleted object would be re-saved by cascade

2012-10-28 
hibernate 级联删除问题deleted object would be re-saved by cascade?OneToMany1.如果Many端存在于One端

hibernate 级联删除问题deleted object would be re-saved by cascade

?OneToMany

1.如果Many端存在于One端的集合中,直接删除Many,就会抛出"deleted object would be re-saved by cascade"的异常,解决办法是在One端的集合中先删除Many端(先把他们之间的联系割断),然后再在Hibernate中删除Many端。
但在JDBC下直接删除Many端是可以的。

2.如果直接删除One端:
??如果One端中没有设置Cascade为delete或者all,就会抛出“Cannot delete or update a parent row: a foreign key constraint fails”的异常。在JDBC下也是不行的(在建表时设置 ON DELETE CASCADE除外),因为Hibernate只是把JDBC下的异常封装而已。
?? 如果One端中设置Cascade为delete或者all,删除的时候就会把所有Many端都删除。

热点排行