みたいな関係を持っています。
<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であるため、順序は維持されましたが、カスケードで使用されているすべての孤立した削除のため、特定のシナリオで次のように例外が発生していました:
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 からの注文を維持できません。
誰かがそのような問題に直面したことはありますか?
よろしく、
バイバブ