8.22.6 @Column
(1) 説明
永続化フィールドまたは永続化プロパティと,データベース上のカラムとのマッピングを指定するアノテーションです。
永続化プロパティまたは永続化フィールドに明示的に@Columnを指定しない場合でも,@Columnが指定されたように永続化フィールドまたは永続化プロパティは扱われます。この場合@Columnの各属性値にはデフォルト値が適用されます。
適用可能要素は,メソッドとフィールドです。
(2) 属性
@Columnの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
任意 |
カラム名を指定する属性です。 |
|
unique |
任意 |
プロパティがユニークキーであるかどうかを指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
nullable |
任意 |
データベースのカラムにnull値を指定できるかどうかを指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
任意 |
@Columnで指定したカラムをSQLのINSERT文に含むかどうかを指定する属性です。 |
|
任意 |
@Columnで指定したカラムをSQLのUPDATE文に含むかどうかを指定する属性です。 |
|
columnDefinition |
任意 |
CREATE文を出力するとき,カラムに付加する制約をDDLで記載する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
任意 |
カラムを含むテーブル名を指定する属性です。 |
|
length |
任意 |
カラムの長さを指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
precision |
任意 |
カラムの精度を指定する属性です。カラムが数値型の場合に指定します。 なお,この属性は,CJPAプロバイダには対応していません。 |
scale |
任意 |
カラムのスケールを指定する属性です。カラムが数値型の場合に指定します。 なお,この属性は,CJPAプロバイダには対応していません。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
カラム名を指定する属性です。
指定できるカラム名は,データベースの仕様に依存します。
- デフォルト値
-
このアノテーションを指定したプロパティ名またはフィールド名
(b) insertable属性
- 型
-
boolean
- 説明
-
@Columnで指定したカラムをSQLのINSERT文に含むかどうかを指定する属性です。指定できる値は,trueまたはfalseです。
それぞれの値の意味は次のとおりです。
true:@Columnで指定したカラムをSQLのINSERT文に含みます。
false:@Columnで指定したカラムをSQLのINSERT文に含みません。
- デフォルト値
-
true
(c) updatable属性
- 型
-
boolean
- 説明
-
@Columnで指定したカラムをSQLのUPDATE文に含むかどうかを指定する属性です。指定できる値は,trueまたはfalseです。
それぞれの値の意味は次のとおりです。
true:@Columnで指定したカラムをSQLのUPDATE文に含みます。
false:@Columnで指定したカラムをSQLのUPDATE文に含みません。
- デフォルト値
-
true
(d) table属性
- 型
-
String
- 説明
-
カラムを含むテーブル名を指定します。
指定できるテーブル名は,データベースの仕様に依存します。
- デフォルト値
-
プライマリテーブル名