11.4.5. WITH 節について

HQL は WITH 節を定義し、結合条件を限定します。これは HQL に固有の機能で、JPQL はこの機能を定義しません。

例11.4 with-clause 結合の例

select distinct c
from Customer c
    left join c.orders o
        with o.value > 5000.00
生成された SQL では、with clause の条件が生成された SQL の on clause の一部となりますが、本項の他のクエリでは HQL/JPQL の条件が生成された SQL の where clause の一部となることが重要な違いです。この例に特有の違いは重要ではないでしょう。さらに複雑なクエリでは、with clause が必要になることがあります。
明示的な結合は、アソシエーションまたはコンポーネント/埋め込み属性を参照することがあります。コンポーネント/埋め込み属性では、結合は単純に論理的で、物理 (SQL) 結合へ相関がありません。