2.6.8 @DiscriminatorColumn

<この項の構成>
(1) 説明
(2) 属性

(1) 説明

SINGLE_TABLE戦略またはJOINED戦略で使用する識別用カラムを指定するアノテーションです。エンティティクラスの継承で,スーパークラスとなるエンティティクラスに付与します。

適用可能要素は,クラスです。

(2) 属性

@DiscriminatorColumnの属性の一覧を次の表に示します。

属性名任意/必須属性の説明
name任意識別用カラム名を指定する属性です。
discriminatorType任意識別用カラムの型を指定する属性です。
columnDefinition任意CREATE文を出力するとき,識別用カラムに付加する制約をDDLで記載する属性です。
なお,この属性は,Cosminexus JPAプロバイダには対応していません。
length任意識別用カラムが文字列の場合,その長さを指定する属性です。
なお,この属性は,Cosminexus JPAプロバイダには対応していません。

Cosminexus JPAプロバイダで対応する属性の詳細を次に示します。

(a) name属性
String
説明
識別用カラム名を指定する属性です。
指定できるカラム名は,データベースの仕様に依存します。
name属性の値は,@Columnのname属性と同じ値(大文字および小文字を合わせた値)を指定してください。
デフォルト値
"DTYPE"
(b) discriminatorType属性
DiscriminatorType
説明
識別用カラムの型を指定する属性です。
指定できる値は,次のとおりです。
  • DiscriminatorType.STRING
  • DiscriminatorType.CHAR
  • DiscriminatorType.INTEGER
デフォルト値
DiscriminatorType.STRING