5 つのエンティティで構成された単純なオブジェクト モデルを用意します。
- 会社
- 組織
- 住所
- クラブ
- グループ
会社は単一の組織に関連付けられています。(グループとクラブも単一の組織に関連付けられています。これらは一方向であり、組織にはその所有者への参照が含まれていません)。組織は 0 個以上のアドレスを持つことができます。
サブクエリを使用して、Address の属性である特定の郵便番号に基づいて Company オブジェクトにアクセスできます。特定の郵便番号を持つ企業にアクセスできる JPQL クエリを次に示します。
@Query("select p from Company p, Organization org where (p.organization = org.id) and exists (select 1 from Address ad where zipcode = :zipcode and ad.organization = org.id)")
JPA Criteria API を使用して同じことを行うにはどうすればよいでしょうか?