本站首页    管理页面    写新日志    退出


«June 2026»
123456
78910111213
14151617181920
21222324252627
282930


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:
日志总数:4
评论数量:5
留言数量:0
访问次数:25320
建立时间:2010年7月14日




不吐不快:Hibernate中的org.hibernate.ObjectDeletedException(deleted object would be re-saved by cascade (remove deleted object from associations))
原创空间,  软件技术

neverback 发表于 2010/9/30 11:58:56

刚接触Hibernate没有多久,限于了解会用... 说下我遇到的情况,有存在关联关系的主从对象,主对象中存在子对象的Set, 主对象中子对象Set注解: @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="main",targetEntity= child.class)    @BatchSize(size=5)    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 同理,子对象中注解: @ManyToOne(cascade=CascadeType.PERSIST,fetch=FetchType.LAZY) @JoinColumn(name="m_id") 可以看出来我开启了  cascade=CascadeType.ALL 关于cascade注解: all:所有情况下均进行关联操作 none:与上面相反 save-update:save/update/saveOrUpdate时候进行关联操作 delete:同上,执行delete时候。 我的错误出现在试图单独删除Set中某一个子数据时候,hibernate报错为 org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations) 作为初学者,google之,前三页都是类似的这个解决办法: http://yelr-j.javaeye.com/blog/419609 没有尝试,总觉得有问题,首先去掉cascade关系,就无法进行级联操作。还有解决级联关系,即set主对象为null觉得更不可取。 事实上查看了一下文档,发现首先需要对子对象中的主对象里面的关联关系进行一下调整即可,类似 child.getParent().getChildSet().remove(child); 将子对象中关联的主对象里面记录的子对象的集合中去掉要删除的子对象(是不是有点绕口)...这样单独进行删除子对象操作时候就不会发生上面错误了. 不知道这算不算是解决了问题。


阅读全文(5581) | 回复(2) | 编辑 | 精华
 


回复:不吐不快:Hibernate中的org.hibernate.ObjectDeletedException(deleted object would be re-saved by cascade (remove deleted object from associations))
原创空间,  软件技术

dd(游客)发表评论于2011/5/17 16:53:13

谢谢,会继续关注你的


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:不吐不快:Hibernate中的org.hibernate.ObjectDeletedException(deleted object would be re-saved by cascade (remove deleted object from associations))
原创空间,  软件技术

javaLover(游客)发表评论于2011/3/18 12:36:10

O(∩_∩)O谢谢~~

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.078 second(s), page refreshed 144828351 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号