deleted object would be re-saved by cascade
2014-02-12 22:58
295 查看
使用三大框架做project时遇到这个问题:
这是使用的三张表User Topic Reply
User对 Topic是一对多。
User对Reply是一对多。
Topic对Reply是一对多。
工程中我的目的是根据id删除topic(主题),结果就报了题目中所写的关于hibernate的错误。
解决的办法如下:
//根据id删除Topic(重点是:解除一切与所要删除对象的联系以及注意它对别的实体的影响)
public void deleteTopicById(Long id) {
Session session = factory.getCurrentSession();
Topic topic=(Topic) session.get(Topic.class,id);
//获取topic所属的User
User user=(User) session.get(User.class, topic.getUser().getId());
//将topic从自己所属的user中移除
user.getTopics().remove(topic);
//解除user和因为删除topic失去联系的reply关系
user.getReplys().removeAll(topic.getReplys());
//解除topic和reply的关系
/*topic.getReplys().removeAll(topic.getReplys());*/ //这句不写也可,可能因为它是最底层被级联的对象的原因
session.delete(topic);
}
这是使用的三张表User Topic Reply
User对 Topic是一对多。
User对Reply是一对多。
Topic对Reply是一对多。
工程中我的目的是根据id删除topic(主题),结果就报了题目中所写的关于hibernate的错误。
解决的办法如下:
//根据id删除Topic(重点是:解除一切与所要删除对象的联系以及注意它对别的实体的影响)
public void deleteTopicById(Long id) {
Session session = factory.getCurrentSession();
Topic topic=(Topic) session.get(Topic.class,id);
//获取topic所属的User
User user=(User) session.get(User.class, topic.getUser().getId());
//将topic从自己所属的user中移除
user.getTopics().remove(topic);
//解除user和因为删除topic失去联系的reply关系
user.getReplys().removeAll(topic.getReplys());
//解除topic和reply的关系
/*topic.getReplys().removeAll(topic.getReplys());*/ //这句不写也可,可能因为它是最底层被级联的对象的原因
session.delete(topic);
}
相关文章推荐
- 解决hibernate删除时的异常 deleted object would be re-saved by cascade
- hibernate deleted object would be re-saved by cascade (remove deleted object from associations)的异常
- deleted object would be re-saved by cascade (remove deleted object from associations): [com.bp.bean
- Hibernate 级联删除异常 deleted object would be re-saved by cascade
- org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted o
- 最近开发一个项目使用了Nhibernate出现了如下问题deleted object would be re-saved by cascade (remove deleted object from
- org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade 解决方案 (网络转载)
- 解决hibernate 删除异常:deleted object would be re-saved by cascade
- 解决hibernate 删除异常: deleted object would be re-saved by cascade (remove deleted object from associations)
- org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade
- deleted object would be re-saved by cascade 问题解决方法
- hibernate 删除异常:deleted object would be re-saved by cascade (remove deleted object from
- Hibernate之deleted object would be re-saved by cascade 异常的解决
- 转:hibernate删除时的异常 deleted object would be re-saved by cascade (remove deleted ob
- 解决Hibernate删除异常:deleted object would be re-saved by cascade
- 解决hibernate 删除异常deleted object would be re-saved by cascade (remove deleted object from association)
- deleted object would be re-saved by cascade (re...
- org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade 解决方案
- 解决hibernate删除时的异常 deleted object would be re-saved by cascade (remove deleted object from associa
- 解决hibernate 删除异常: deleted object would be re-saved by cascade (remove deleted object from associations)