パッケージ jakarta.persistence
アノテーションインターフェース MapKeyColumn
マップキーが基本型であるマップのキー列のマッピングを指定します。
name()
要素が指定されていない場合、デフォルトで次のものを連結したものになります: 参照関連フィールドまたはプロパティの名前。"_
"; "KEY
"。例:
- 導入:
- 2.0
オプション要素の概要
オプション要素修飾子と型オプションの要素説明(オプション)列の DDL を生成するときに使用される SQL フラグメント。boolean
(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。int
(オプション)列の長さ。(オプション)マップキー列の名前。boolean
(オプション)データベース列が null 可能かどうか。(オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。int
(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列の精度。int
(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列のスケール。(オプション)列を含むテーブルの名前。boolean
(オプション)列が一意キーであるかどうか。boolean
(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。
要素の詳細
name
StringSE name(オプション) マップキー列の名前。それが見つかるテーブルはコンテキストによって異なります。- マップキーが要素コレクション用の場合、マップキー列はマップ値のコレクションテーブル内にあります。
- マップキーが結合テーブルを使用する
ManyToMany
エンティティ関連またはOneToMany
エンティティ関連の場合、マップキー列は結合テーブル内にあります。 - マップキーが外部キーマッピング戦略を使用する
OneToMany
エンティティ関連用である場合、マップキー列はマップの値であるエンティティのテーブル内にあります。
デフォルトは、参照関連フィールドまたはプロパティの名前を連結したものになります。"
_
"; "KEY
"。- デフォルト:
- ""
unique
boolean unique(オプション) 列が一意のキーであるかどうか。これはテーブルレベルでのUniqueConstraint
アノテーションのショートカットであり、一意キー制約が単一の列のみに対応する場合に便利です。この制約は、主キーマッピングに伴う制約およびテーブルレベルで指定された制約に加えて適用されます。- デフォルト:
- false
nullable
boolean nullable(オプション)データベース列が null 可能かどうか。- デフォルト:
- false
insertable
boolean insertable(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。- デフォルト:
- true
updatable
boolean updatable(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。- デフォルト:
- true
columnDefinition
StringSE columnDefinition(オプション)列の DDL を生成するときに使用される SQL フラグメント。推測された型の列を作成するために、デフォルトで生成された SQL になります。
- デフォルト:
- ""
options
StringSE options(オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。columnDefinition()
と組み合わせて使用することはできません。- 導入:
- 3.2
- デフォルト:
- ""
table
StringSE table(オプション)列を含むテーブルの名前。デフォルト: マップキーが要素コレクション用の場合、マップ値のコレクションテーブルの名前。マップキーが結合テーブルを使用する
OneToMany
またはManyToMany
エンティティ関連の場合、マップの結合テーブルの名前。マップキーが外部キーマッピング戦略を使用したOneToMany
エンティティ関連用の場合、マップの値であるエンティティのプライマリテーブルの名前。- デフォルト:
- ""
length
int length(オプション)列の長さ。varchar
型やvarbinary
型など、長さによって型がパラメーター化される列にのみ適用されます。- デフォルト:
- 255
precision
int precision(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列の精度。正確な数値型の列にのみ適用されます。
デフォルト値
0
は、プロバイダーが決定した精度を推測する必要があることを示します。- デフォルト:
- 0
scale
int scale(オプション) SQL 型decimal
またはnumeric
、あるいは同様のデータベースネイティブ型の列のスケール。正確な数値型の列にのみ適用されます。
デフォルト値
0
は、プロバイダーが決定した精度を推測する必要があることを示します。- デフォルト:
- 0