JPA と Hibernate における JOIN と JOIN FETCH の違いを理解する
JPA と Hibernate を使用してデータをクエリする場合、次の使用が発生する可能性があります。結合と結合フェッチ。これらの結合タイプはさまざまな目的を果たし、クエリを最適化するにはその違いを理解することが重要です。
JOIN と JOIN FETCH
JOIN と JOIN FETCH はどちらもエンティティ間の関係を確立します。あなたのクエリで。ただし、主な違いは、関連データの取得の処理方法にあります。
例:
次の 2 つのクエリについて考えてみましょう:
FROM Employee emp JOIN emp.department dep
と
FROM Employee emp JOIN FETCH emp.department dep
両方のクエリは、少なくとも 1 つの部門を持つすべての従業員を取得します。ただし、最初のクエリは Employee オブジェクトのみを返しますが、2 番目のクエリは関連するDepartment オブジェクトも返します。
JOIN および JOIN FETCH を使用する場合
注: エンティティ マッピングで FetchType.EAGER を使用している場合、JOIN クエリは関連データも取得するため、JOIN FETCH と同等になります。
追加の考慮事項:
以上がJPA と Hibernate で JOIN と JOIN FETCH を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。