現在、注釈を使用して双方向のOneToMany Hibernateの関連付けを行っています。 問題が発生しました。親エンティティの更新時に古い子レコードを削除する方法
親エンティティには多くの子エンティティがあります。 Parentで設定されたChildを更新し、Parentエンティティを更新しようとすると、古いChildエントリはまだChildテーブルに存在します。親には重複する子レコードが含まれています。
私は親エンティティを更新するたびに、自動的に子エントリも重複しないように正しく更新する必要があります。つまり、既存の子エンティティを削除する必要があります。
私はグーグルでこれを達成するための汚い方法があることがわかりました。親の既存の子エンティティを取得し、各子を反復処理し、session.delete(子)を使用して各子エンティティを削除します。これは非常に悪いアプローチです、私は知っています。
アノテーションを使用して上記のことをより効果的に達成できますか?これを解決する際に私を助けてください。
お返事ありがとうございます。私が正確に探しているのは、親の子セットが更新され、親を保存するときに自動的に古い子を削除することです。とにかく私たちはこれを達成することができますか?、すべての古い子供を繰り返して、明示的に削除する代わりに。 –
私の答えを更新しました。 –
ありがとうRobby - これは私が見ている問題だと思います。 Wow - Hibernateは私の見積もりでさらに低下しました - そして、それはあまりにも高く評価されていませんでした!どのようなS#%*の作品! –