オブジェクトが汚れている (変更されている) 場合に、saveOrUpdate にオブジェクトの新しいインスタンス (新しい識別子) を保存するように hibernate を強制する方法はありますか? これは構成またはインターセプターを介して可能ですか? 私は3つのエンティティを持っています:
Entity A (has B)
Entity B
Entity C (has B)
Entity B can only be updated through A
基本的に、(C) が作成および保存されたときに B のスナップショットを常に保持し、A によって参照される B のインスタンスを直接参照しないようにします。
B は変更可能で、A は B の最新バージョンを指す必要があります。
これは、equals メソッドを実装し、同等性をチェックし、saveOrUpdate() を呼び出す前に必要に応じて B の id フィールドを無効にすることで、手動で行うことができます。Hibernate またはより簡単な方法で組み込みの方法はありますか?