パッケージ jakarta.persistence
アノテーションインターフェース ForeignKey
スキーマ生成が有効な場合の外部キー制約の処理を指定します。このアノテーションが指定されていない場合、デフォルトの外部キー戦略が永続化プロバイダーによって選択されます。
ConstraintMode
値は、外部キー制約を生成するかどうかを指定するために使用されます。
foreignKeyDefinition()
要素で使用される構文は、ターゲットデータベースで外部キー制約の作成に使用される SQL 構文に従う必要があります。例: 次のようになります。
ConstraintMode
値が CONSTRAINT
であるが、foreignKeyDefinition()
要素が指定されていない場合、プロバイダーは外部キー制約を生成します。その更新および削除アクションは、外部キーアノテーションが適用される結合列に最も適切であるとプロバイダーが判断します。
オプション要素の概要
オプション要素修飾子と型オプションの要素説明(オプション)外部キー制約の定義。(オプション)外部キー制約の名前。(オプション) この外部キーを作成する、生成された DDL に追加される SQL フラグメント。(オプション)スキーマ生成が有効なときに外部キー制約を生成するかどうかを指定するために使用されます。
要素の詳細
name
StringSE name(オプション)外部キー制約の名前。デフォルトはプロバイダーが生成した名前です。
- デフォルト:
- ""
value
ConstraintMode value(オプション)スキーマ生成が有効なときに外部キー制約を生成するかどうかを指定するために使用されます。ConstraintMode.CONSTRAINT
は、永続化プロバイダーが外部キー制約を生成する必要があることを指定します。foreignKeyDefinition()
要素が指定されていない場合、プロバイダーは、外部キーアノテーションが適用される結合列に最も適切であると判断する更新および削除アクションを持つ制約を生成します。ConstraintMode.NO_CONSTRAINT
は、制約を生成しないことを指定します。ConstraintMode.PROVIDER_DEFAULT
はプロバイダーのデフォルトの動作を選択します。これにより、制約が生成される場合と生成されない場合があります。
- デフォルト:
- CONSTRAINT
foreignKeyDefinition
StringSE foreignKeyDefinition(オプション)外部キー制約の定義。- デフォルト:
- ""
options
StringSE options(オプション) この外部キーを作成する、生成された DDL に追加される SQL フラグメント。foreignKeyDefinition()
と組み合わせて使用することはできません。- 導入:
- 3.2
- デフォルト:
- ""