2

選択したサブクラス化されたエンティティをいくつか選択するJPAクエリの例を教えてください。たとえば、親エンティティはInstitutionです。私はそれをメーカー、サプライヤー、サービスプロバイダーにサブクラス化しました。すべてのサプライヤーとサービスプロバイダーを取得したいのですが、Institutionオブジェクトを返す単一のクエリでメーカーを取得したくありません。

グーグルで検索しましたが、この特定の問題に対処するリソースが見つかりませんでした。前もって感謝します。

4

1 に答える 1

10

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();
于 2012-06-13T06:16:43.973 に答える