NHibernateを追加して実験しているレガシーシステムを使用しています。テーブルにマップする必要があるクラスがありますが、仮想ではない既存のメソッドがたくさんあります。
マッピングファイルのクラス要素の「lazy」属性を「false」に設定すると、非仮想メソッドが存在する場合でも、NHibernateでマッピングを正常にロードできることがわかりました。これが、このクラスでのNHibernateの使用にどのような影響を与えるのか疑問に思っています。
オブジェクトに属するコレクションでの非遅延読み込みの意味は理解していますが、クラスでの遅延読み込みまたは熱心な読み込みの意味がわかりません。それは、そのオブジェクトに属するすべてのコレクションが熱心にロードされることを意味しますか?それとも、NHibernateが実際のクラスの代わりに動的プロキシを使用しなくなったことを意味しますか?他に何かありますか?
また、ここでの最善の行動方針は何ですか?そのlazy=false値を設定することはお勧めできませんか?クラスが実装するインターフェイスを作成し、それをテーブルにマップする必要がありますか?それとも、弾丸をかじって、クラス仮想の既存のすべてのメソッドにマークを付ける必要がありますか?
アドバイスをよろしくお願いします!