nHibernate での子レコードの自動読み込みを無効にする方法があるかどうかを知りたい (1:多関係の場合)。
プロパティの遅延読み込みを簡単にオフにすることができますが、私が望むのは、あらゆる種類の自動読み込み (遅延と非遅延の両方) を無効にすることです。クエリを介してのみデータをロードしたい (すなわち HQL または Criteria )
マッピング ファイルで親子レコード間の関係を定義して、HQL を容易にし、親子エンティティを結合できるようにしたいのですが、親レコードはそれを明示的に述べています(熱心なフェッチなどを介して)。
例: データベースからの部門レコードのフェッチでは、データベースからすべての従業員レコードをフェッチする必要はありません。
ここでのオプションの 1 つは、Department の Employees コレクションを遅延ロードとして設定することです。このアプローチの問題点は、オブジェクトが呼び出し元の API に渡されると、遅延読み込みプロパティに「触れる」ことができ、データベースからリスト全体をフェッチすることです。
「エビクト」を使用してオブジェクトを切断しようとしましたが、常に機能しているようには見えず、オブジェクトに対して深いエビクトを実行しません。さらに、リフレクションを介してオブジェクトを操作しようとしているコードで後で大混乱を引き起こすプロキシ クラスを使用して、遅延ロードされたプロパティ タイプを抽象化し、オブジェクトで未使用のタイプに遭遇します。
私は nHibernate の初心者です。ポインタやヘルプは非常に役立ちます。