在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方法身上
Hibernate之deleted object would be re-saved by cascade 异常的解决
最新推荐文章于 2018-07-11 11:35:46 发布
本文提供了解决在Hibernate中删除存在关联关系的对象时出现的ObjectDeletedException的方法,包括删除Set方的cascade、解决关联关系后再删除、在many-to-one方增加cascade等。特别关注了使用uuid.hex时的无异常情况与使用native时的异常处理策略。
2075

被折叠的 条评论
为什么被折叠?



