我有这样的关系
<set name="someBeans" table="sometable" cascade="all, delete-orphan" inverse="true" lazy="true">
<key column="some_id" />
<one-to-many class="someBean" />
</set>
在我的 Java 代码中,对此执行了一组操作,就像
myClass.setSomeBeans(SomeBeans);
现在这个 SomeBeans 是一个linkedHashmap,所以订单得到了维护,但是由于在级联中使用了所有 Delete Orphan,我在特定场景中遇到了异常:
HibernateException – A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance
所以我把上面的java实现改成
myClass.getSomeBeans().clear();
myClass.getSomeBeans().addAll(SomeBeans)
但是这样做我无法维持来自linkedHashMap SomeBeans 的订单。
有没有人也遇到过这样的问题,在这方面的任何帮助都将不胜感激
问候,
瓦布哈夫