1

現在、ビジネス オブジェクトに独自の「作業単位」機能を採用していますが、すべてのデータベースの永続性を管理するために nHibernate に移行することを検討しています。nHibernate は独自の作業単位を管理するため、データに加えられた変更の履歴ログを書き込むことができるように、(フラッシュされたときに)「ダーティ」オブジェクトを調べる方法はありますか?

もちろん、トランザクションの会話が長い場合は、プロパティのデータベース値をデータベースに永続化された新しい値と比較することにのみ関心があり、行われた中間の変更はデータベースに記録する必要はありません。

誰かアドバイスはありますか?

4

1 に答える 1

2

確かに、可能なオプションの 1 つは IPostUpdateEventListener などの NHibernate リスナーを活用することです (更新されたエンティティを追跡するため) -重要な部分について説明しているこの素晴らしい記事をご覧ください。さらに拡張して、コレクションを追跡したり、出力をカスタマイズしたりすることもできます。

于 2010-12-05T05:19:31.740 に答える