首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有两个父类的子类上的Hibernate all-delete-orphan

具有两个父类的子类上的Hibernate all-delete-orphan
EN

Stack Overflow用户
提问于 2010-07-17 01:03:24
回答 1查看 866关注 0票数 2

我正在研究一个问题,其中有两个“父”类,P和Q,它们将所有删除的孤儿级联到一个“子”类C。我在Hibernate中的直觉告诉我,这真的是一个坏主意,当代码删除P的一个实例(即session.delete(myP);)时,我得到一条错误消息,可能证实了这一点:

“已删除的对象将通过层叠(从关联中删除已删除的对象)重新保存: C#1”

当P的实例和Q的实例都可以充当C的同一实例的父类时,谁能确认让一个子类有两个父类不是一个好主意吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-07-23 00:52:38

我的猜测是,只有在同一事务中同时有P和Q,同时更新P和从Q中删除(反之亦然)时,才会出现问题。双亲应该只会给事务增加一层复杂性,但它仍然应该以您预期的方式工作。

代码语言:javascript
复制
session.beginTransaction();
P p = loadP(); 
p.remove(c);
session.commit(); //okay

session.beginTransaction();
P p = loadP();
Q q = loadQ();
p.remove(c);
q.alter(c);
session.commit(); //boom
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3267242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档