org.hibernate.ObjectDeletedException:删除的对象将被级联重新保存(从关联中删除已删除的对象): [英] org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):

查看:106
本文介绍了org.hibernate.ObjectDeletedException:删除的对象将被级联重新保存(从关联中删除已删除的对象):的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到了上面的错误org.hibernate.ObjectDeletedException:删除的对象将被重新保存级联(从关联删除删除的对象):。有人可以帮助我什么可能是问题,应该是什么修复?



谢谢。

解决方案

没有映射结束代码有点困难...
这通常是因为你正在删除一个关联到一个集合的对象
所致。

你有从拥有集合中删除对象,之后删除对象。

pre $ parent $。
session.delete(objToDelete);
session.save(parentObject);

但是,您可以避免使用deleteOrphan以这种方式映射集合

  class ParentObject {
@OneToMany(orphanRemoval = true)
private List< ChildObject>采集;
}

和代码看起来像

  parentObject.collection.remove(objToDelete); 
session.save(parentObject);

您不需要删除对象,因为在保存parentObject时它会被Hibernate自动删除。 p>

希望可以帮助

i am getting the above error "org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): ". could someone help me what might be the issue and what should be the fix?

Thanks.

解决方案

Without mapping end code is a bit hard... This is caused, usually, because you are deleting an object associate to a collection.
You have to remove object from owning collection(s) and, after, delete object

parentObject.collection.remove(objToDelete);
session.delete(objToDelete);
session.save(parentObject);

But you can avoid this using deleteOrphan to mapped collection in this way

class ParentObject {
  @OneToMany(orphanRemoval=true)
  private List<ChildObject> collection;
}

and code looks like

parentObject.collection.remove(objToDelete);
session.save(parentObject);

You don't more need object deletion because it is automatically removed by Hibernate when saving parentObject.

Hope can help

这篇关于org.hibernate.ObjectDeletedException:删除的对象将被级联重新保存(从关联中删除已删除的对象):的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆