您的位置:首页 > 移动开发 > Objective-C

解决org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade

2017-08-01 10:00 525 查看
今天学hibernate多对一双向关联要删除多的一方时,我在两个持久类中都设了cascade=CascadeType.ALL,由于只想要删除一条记录,而与之相关联的其他记录不想被删除,所以我用了以下方法(多个Person对应一个Address):

Person p1 = (Person)session.get(Person.class, 3);
p1.setAddress(null);
session.delete(p1);


        但是会给我提示错误org.hibernate.ObjectDeletedException:
deleted object would be re-saved by cascade (remove deleted object from associations)

经过几次修改实验解决了:

Person p1 = (Person)session.get(Person.class, 4);
p1.getAddress().getPersons().remove(p1);
p1.setAddress(null);
session.delete(p1);


参考链接:

https://stackoverflow.com/questions/18358407/org-hibernate-objectdeletedexception-deleted-object-would-be-re-saved-by-cascad
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 对象 delete
相关文章推荐