5

これは、熱心に読み込まれたコレクションで返そうとしている私のエンティティの例です。

ミックス -> トラック (コレクション) -> タグ (コレクション)

熱心にロードされたトラックとタグを含むミックスのページ化されたリストを返す必要があります。ページングなしでは、Future<>() 関数を使用してトラックとタグに対して複数のクエリを実行することで比較的簡単です。

このデータはページングする必要があるため...データを表示するときにNHibernateがN + 1の問題を起こさないようにするには、どうすればすべてのデータを元に戻すことができますか?

ポール

4

1 に答える 1

5
  1. トラックやタグなしで、必要なミックス ページを取得します。
  2. 上記の手順で取得したすべてのミックスに対応するすべてのトラック (左結合タグ) を取得します (つまり、HQL を使用している場合は、SetParameterListを使用してすべてのミックス ID を渡します) 。

合計: 2 つのクエリ。

于 2010-07-11T01:48:41.350 に答える