0

1 つのサブクラスにのみ存在する属性によってフィルター処理する必要があるスーパークラス タイプの ReadAllQuery があります。私は単一テーブルの継承を使用しているため、属性は DB 内のすべてのサブクラス オブジェクト行に存在しますが、コード内の 1 つのサブクラス ドメイン オブジェクトにのみマップされます。ただし、このクエリを試すと、Eclipselink (2.4.0) で例外が発生します: Invalid query key [subclassAttribute].

参考までに、生成したいSQLは次のようになります。

SELECT *
FROM superclass
WHERE
    (subclass_discriminator = 'A' AND attribute_a = 1)
    OR
    (subclass_discriminator = 'B' AND attribute_b = 1)
4

1 に答える 1

0

JPA 2.0 は、サブクラス属性http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/j_treat.htmを使用してアクセスおよびフィルタリングできるようにする「TREAT」を導入しました。

于 2013-10-17T01:09:01.993 に答える