パッケージ jakarta.persistence
アノテーションインターフェース Column
アノテーション付きの永続プロパティまたはフィールドによってマップされる列を指定します。
Column
アノテーションが明示的に指定されていない場合は、デフォルト値が適用されます。
例 1:
例 2:
例 3:
スキーマ生成を利用するポータブルアプリケーションでは、型 numeric
または decimal
の列の precision()
と scale()
を明示的に指定する必要があります。
- 導入:
- 1.0
オプション要素の概要
オプション要素修飾子と型オプションの要素説明(オプション) 列に適用される制約を確認します。(オプション)列の DDL を生成するときに使用される SQL フラグメント。(オプション) 列に適用されるコメント。boolean
(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。int
(オプション)列の長さ。(オプション)列の名前。boolean
(オプション)データベース列が null 可能かどうか。(オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。int
(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列の精度。int
(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列のスケール。int
(オプション) SQLtime
またはtimestamp
列に小数秒を格納するために使用する小数点以下の桁数。(オプション)列を含むテーブルの名前。boolean
(オプション)列が一意キーであるかどうか。boolean
(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。
要素の詳細
name
StringSE name(オプション)列の名前。デフォルトはプロパティ名またはフィールド名です。- デフォルト:
- ""
unique
boolean unique(オプション) 列が一意のキーであるかどうか。これはテーブルレベルでのUniqueConstraint
アノテーションのショートカットであり、一意キー制約が単一の列のみに対応する場合に便利です。この制約は、主キーマッピングに伴う制約およびテーブルレベルで指定された制約に加えて適用されます。- デフォルト:
- false
nullable
boolean nullable(オプション)データベース列が null 可能かどうか。- デフォルト:
- true
insertable
boolean insertable(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。- デフォルト:
- true
updatable
boolean updatable(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。- デフォルト:
- true
columnDefinition
StringSE columnDefinition(オプション)列の DDL を生成するときに使用される SQL フラグメント。推測された型の列を作成するために、デフォルトで生成された SQL になります。
指定された DDL は、ターゲットデータベースのネイティブ SQL ダイアレクトで記述する必要があり、データベース間で移植できません。
- デフォルト:
- ""
options
StringSE options(オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。columnDefinition()
と組み合わせて使用することはできません。指定された DDL は、ターゲットデータベースのネイティブ SQL ダイアレクトで記述する必要があり、データベース間で移植できません。
- 導入:
- 3.2
- デフォルト:
- ""
table
StringSE table(オプション)列を含むテーブルの名前。存在しない場合、列はプライマリテーブルにあると見なされます。- デフォルト:
- ""
length
int length(オプション)列の長さ。varchar
型やvarbinary
型など、長さによって型がパラメーター化される列にのみ適用されます。- デフォルト:
- 255
precision
int precision(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列の精度。正確な数値型の列にのみ適用されます。
デフォルト値
0
は、プロバイダーが決定した精度を推測する必要があることを示します。- デフォルト:
- 0
scale
int scale(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列のスケール。正確な数値型の列にのみ適用されます。
デフォルト値
0
は、プロバイダーが決定したスケールを推測する必要があることを示します。- デフォルト:
- 0
secondPrecision
int secondPrecision(オプション) SQLtime
またはtimestamp
列に小数秒を格納するために使用する小数点以下の桁数。時間またはタイムスタンプ型の列にのみ適用されます。
デフォルト値
-1
は、秒の小数部をtime
列に格納しないこと、またはデータベースと JDBC ドライバーでサポートされる最大桁数をtimestamp
列に格納することを示します。- 導入:
- 3.2
- デフォルト:
- -1
check
CheckConstraint[] check(オプション) 列に適用される制約を確認します。これらは、テーブル生成が有効な場合にのみ使用されます。- 導入:
- 3.2
- デフォルト:
- {}
comment
StringSE comment(オプション) 列に適用されるコメント。これは、テーブル生成が有効な場合にのみ使用されます。- 導入:
- 3.2
- デフォルト:
- ""