私はクラスに継承構造を持っています.Parent(ルートクラスとして)とChildをサブクラスとしましょう。 JPA 2.0:TYPE式の例外
だからJPA 2.0で何私は、親のエントリと子のないものエントリを返す必要がありSELECT p FROM Parent p WHERE TYPE(p) = Parent
これを使用することによってのみ、親クラスを選択することはできません。
しかし、私のEclipseLink 2.1.1とMySQLでのGlassFish v3の上、私は常に次のエラーを取得する:
さらに"Invalid Type Expression on [my.domain.Parent]. The class
does not have a descriptor, or a descriptor that does not use
inheritance or uses a ClassExctractor for inheritance".
、私は手で何のORMマッピングを定義していません。これはすべて展開時に自動的に行われます。
継承構造を宣言するために、親/子クラス(注釈)に追加する必要があるものはありますか? (しかし、私はそれは、継承はJavaで宣言されているため、これは、必要ではないはずだと思う?)
EDIT:
私は言及しなかったてきた1つの重要な側面は、私が使用しているということです継承メソッド "TABLE_PER_CLASS"。
このリンクは '使用ポータブル継承マッピングStrategies'あなたのJPAプロバイダがない場合でも、'そのトピックに言及しているhttp://www.oracle.com/technetwork/articles/marx-jpa-087268.htmlオプションの "表コンクリートクラス"の継承マッピング戦略を実装すると、JPAプロバイダの移植性が必要な場合はこれを避けるのが最善です.'そして単一の継承を使用することが好ましい。 – Ramsharan