8.22.8 @DiscriminatorColumn
(1) 説明
SINGLE_TABLE戦略またはJOINED戦略で使用する識別用カラムを指定するアノテーションです。エンティティクラスの継承で,スーパークラスとなるエンティティクラスに付与します。
適用可能要素は,クラスです。
(2) 属性
@DiscriminatorColumnの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
任意 |
識別用カラム名を指定する属性です。 |
|
任意 |
識別用カラムの型を指定する属性です。 |
|
columnDefinition |
任意 |
CREATE文を出力するとき,識別用カラムに付加する制約をDDLで記載する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
length |
任意 |
識別用カラムが文字列の場合,その長さを指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
識別用カラム名を指定する属性です。
指定できるカラム名は,データベースの仕様に依存します。
name属性の値は,@Columnのname属性と同じ値(大文字および小文字を合わせた値)を指定してください。
- デフォルト値
-
"DTYPE"
(b) discriminatorType属性
- 型
-
DiscriminatorType
- 説明
-
識別用カラムの型を指定する属性です。
指定できる値は,次のとおりです。
-
DiscriminatorType.STRING
-
DiscriminatorType.CHAR
-
DiscriminatorType.INTEGER
-
- デフォルト値
-
DiscriminatorType.STRING