0

次のようなエンティティのリストがある場合、特定のエンティティが持つすべての関係をどのようにeagerloadしますか?

List<Question> questions = query.getResultList();

クエリは次のとおりです。SELECT q FROM Question q;

使用できることはわかっていますがHibernate.initialize()、それはリポジトリレイヤーのリストをループする必要があるということですか? または、より良い解決策はありますか?

4

1 に答える 1

4

10.2.3.5.3を使用できます。JPQLフェッチが参加します。

FETCH JOINを使用すると、クエリ実行の副作用として関連付けをフェッチできます。FETCH JOINは、エンティティとその関連エンティティに対して指定されます。

上記のリンクから借用した例:

SELECT mag FROM Magazine mag LEFT JOIN FETCH mag.articles WHERE mag.id = 1

の利点は、FETCH JOINデフォルト設定が怠惰になる可能性があることだと思います。

于 2012-11-11T18:56:56.037 に答える