`

Hibernate之deleted object would be re-saved by cascade 异常的解决

阅读更多
以下是我在网上找到的,
我用了第二种方法,奇怪的是:
我在action中没有把少一端集合中去除对象,没报错,
放到service中就报这个异常了。


在Hibernate中,删除存在关联关系的一个对象时,会出现 org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)这个异常

解决方案如下:
方法1 删除Set方的cascade
方法2 解决关联关系后,再删除 :
   Attachment attachment = attachments.get(i);
   content.getAttachments().remove(attachment);
   attachment.setContent(null);
   removeObject(attachment);
方法3 在many-to-one方增加cascade 但值不能是none

如果以上三个方案都失败(哼哼~ 我用了5个小时才找出来的)
检查一下hashCode equals是否使用了id作为唯一标示的选项了;我用uuid.hex时是没有问题的;
但是用了native,就不行了,怎么办?删除啊!

也就是问题出现在本文给出的持久化类的hashCode equals方法身上
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics