在我们的代码中,我们有多对多的关系,其中关系表还包含一些额外的字段。
例如: 我们有旅行资源,旅行可以有多个设备和设备可以重复使用。当设备不再使用时,它将被移除。所以我们有以下对象:
在旅行中更换设备时我们首先
添加这一点我们在会话上进行手动刷新,因为我们需要来自新对象的生成ID。到现在为止还挺好。但是当applicationServer尝试提交会话时,我们会收到以下错误:
AssertionFail E org.hibernate.AssertionFailure <init> an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: collection owner not associated with session Equipment.wheels
at org.hibernate.engine.Collections.processDereferencedCollection(Collections.java:88)
at org.hibernate.engine.Collections.processUnreachableCollection(Collections.java:39)
即使车轮收集是空的。
删除flush时,保存操作成功。有人可以向我解释为什么手动刷新会话不起作用吗?
提前谢谢