hibernate 的配置 cascade

在hibernate中删除一对多中的多方数据时报错:
org.hibernate.ObjectDeletedException : deleted object would be re-saved by cascade (remove deleted object from associations): [pojos.UdData#40288669477c2dd501477c2dd6140002]
 
分析
字面意思是“被删除的数据因为cascade选项将会被重新保存【方法:将该数据从关联关系中移除】”
 
解决:

many.setOne(null);//解除与one的关联关系

//由于是在set遍历时进行操作,需要在iter中删除,否则会报java.util.ConcurrentModificationException

//如果是直接取出的many,则不需要此步骤
iter.remove();       
s.remove(many);

session.delete(many);//删除many

 
其他:
http://blog.csdn.net/zhujiaxing666666/article/details/8499103
该blog中提到了其他几种方法,并分析了优缺点

hibernate 的配置 cascade,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。