私は、日付プロパティを持つマップされたクラスを持っています。私は保存されているものよりも古い場合にのみ、既存のものが更新されるように、このクラスのオブジェクトを保存したい。休止状態の条件付きsaveOrUpdate
どうすればできますか(可能な限りきれいに、効率的に)?
私はこのようなクラスがたくさんあるので、すべてのカスタムHQLを書かないようにしたいと思います。
私は、日付プロパティを持つマップされたクラスを持っています。私は保存されているものよりも古い場合にのみ、既存のものが更新されるように、このクラスのオブジェクトを保存したい。休止状態の条件付きsaveOrUpdate
どうすればできますか(可能な限りきれいに、効率的に)?
私はこのようなクラスがたくさんあるので、すべてのカスタムHQLを書かないようにしたいと思います。
SpringからHibernateTemplate.saveOrUpdateを見てみてください。それは同じ機能を持っています必要があります。ビッグオープンソース
これはJavaでどのように達成されているのか分かりませんが、私はあなたが似たようなことができると確信しています。
FYI、以下のクラスは、NHibernateのは、あなたが(抽象を持ってDefaultSaveOrUpdateEventListener
クラスを拡張し、PerformSaveOrUpdate
メソッドをオーバーライドし、この方法では、あなたがそれらの日付プロパティを持つクラスを識別するのに役立ちますカスタムコードを記述することができ
固有のものですこのクラスのすべてのクラスが実装する必要のあるクラス/インターフェイス)を設定してから、このプロパティの値を設定して、SaveOrUpdate
メソッドを呼び出します。
次に、Configuration
を構築するときにこのリスナーを追加します。これを行う方法については、Hibernateのドキュメントを参照してください。
希望すると、これが役立ちます。
これについては別の方法がありましたが、これは有望だったと思います。 – Bloodboiler