8.22.23 @Inheritance
(1) 説明
エンティティの継承階層で使われる継承マッピング戦略を指定するアノテーションです。
@Inheritanceは継承階層の親であるエンティティクラスに指定されます。
CJPAプロバイダで使用できる継承マッピング戦略には,次の2種類があります。
-
SINGLE_TABLE(クラス階層ごとの単体テーブル)
-
JOINED(結合サブクラス戦略)
継承マッピング戦略については,「8.13.2 継承マッピング戦略」を参照してください。
適用可能要素は,クラスです。
(2) 属性
@Inheritanceの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
任意 |
継承マッピング戦略の種類を指定する属性です。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) strategy属性
- 型
-
InheritanceType
- 説明
-
エンティティで使用する継承マッピング戦略の種類を指定する属性です。
指定できる値は,次の2種類です。
-
InheritanceType.SINGLE_TABLE:継承階層にあるすべてのクラスを一つのテーブルにマッピングする戦略です。
-
InheritanceType.JOINED:継承階層の最上位(親クラス)は単一の表にマッピングされ,各サブクラスはサブクラス特有のマッピングをする戦略です。
-
- デフォルト値
-
InheritanceType.SINGLE_TABLE