選択したサブクラス化されたエンティティをいくつか選択するJPAクエリの例を教えてください。たとえば、親エンティティはInstitutionです。私はそれをメーカー、サプライヤー、サービスプロバイダーにサブクラス化しました。すべてのサプライヤーとサービスプロバイダーを取得したいのですが、Institutionオブジェクトを返す単一のクエリでメーカーを取得したくありません。
グーグルで検索しましたが、この特定の問題に対処するリソースが見つかりませんでした。前もって感謝します。
選択したサブクラス化されたエンティティをいくつか選択するJPAクエリの例を教えてください。たとえば、親エンティティはInstitutionです。私はそれをメーカー、サプライヤー、サービスプロバイダーにサブクラス化しました。すべてのサプライヤーとサービスプロバイダーを取得したいのですが、Institutionオブジェクトを返す単一のクエリでメーカーを取得したくありません。
グーグルで検索しましたが、この特定の問題に対処するリソースが見つかりませんでした。前もって感謝します。
JPA 2.0仕様から:
4.6.17.4 エンティティ タイプの式 [...] エンティティの Java クラスは、エンティティ タイプを指定するための入力パラメータとして使用されます。例:
SELECT e FROM Employee e WHERE TYPE(e) IN (免除、請負業者)
SELECT e FROM Employee e WHERE TYPE(e) IN (:empType1, :empType2)
[...]
だから私は次のようなものを試してみます:
List<Institution> institutions = em.createQuery("SELECT i FROM Institution i WHERE TYPE(i) IN ( Supplier, ServiceProvider ) ).getResultList();