パッケージ jakarta.persistence

アノテーションインターフェース MapKeyJoinColumn


マップキーであるエンティティへのマッピングを指定します。マップキーの結合列は、マップを表すために使用されるターゲットエンティティのコレクションテーブル、結合テーブル、テーブルにあります。MapKeyJoinColumn アノテーションが指定されていない場合、単一の結合列が想定され、デフォルト値が適用されます。

例 1:

例 2:

例 3:

導入:
2.0
関連事項:
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    (オプション)列の DDL を生成するときに使用される SQL フラグメント。
    (オプション)テーブル生成が有効な場合に、外部キー制約の生成を指定または制御するために使用されます。
    boolean
    (オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。
    (オプション)マップキーの外部キー列の名前。
    boolean
    (オプション)外部キー列が NULL 可能かどうか。
    (オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。
    (オプション)この外部キー列によって参照される列の名前。
    (オプション)外部キー列を含むテーブルの名前。
    boolean
    (オプション)プロパティが一意のキーであるかどうか。
    boolean
    (オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。
  • 要素の詳細

    • name

      StringSE name
      (オプション)マップキーの外部キー列の名前。それが見つかるテーブルは、コンテキストによって異なります。
      • 結合が要素コレクションのマップキーに対するものである場合、外部キー列はマップ値のコレクションテーブルにあります。
      • 結合が、結合テーブルを使用した ManyToMany エンティティ関連のマップキーまたは OneToMany エンティティ関連の場合、外部キー列は結合テーブル内にあります。
      • 外部キーマッピング戦略を使用した OneToMany エンティティ関連に対する結合の場合、マップキーの外部キー列は、マップの値であるエンティティのテーブル内にあります。

      デフォルト (単一の結合列が使用される場合にのみ適用されます) 次のものの連結: 参照関連プロパティの名前、または参照エンティティまたは埋め込み可能クラスのフィールド。"_"; "KEY"。

      デフォルト:
      ""
    • referencedColumnName

      StringSE referencedColumnName
      (オプション)この外部キー列によって参照される列の名前。参照される列は、ターゲットエンティティのテーブルにあります。

      デフォルト (単一の結合列が使用されている場合にのみ適用されます) 参照されるテーブルの主キー列と同じ名前。

      デフォルト:
      ""
    • unique

      boolean unique
      (オプション) プロパティが一意のキーであるかどうか。これはテーブルレベルでの UniqueConstraint アノテーションのショートカットであり、一意キー制約が 1 つのフィールドのみである場合に便利です。
      デフォルト:
      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
      (オプション)外部キー列を含むテーブルの名前。
      • 結合が要素コレクションのマップキーに対するものである場合、外部キー列はマップ値のコレクションテーブルにあります。
      • 結合が、結合テーブルを使用した ManyToMany エンティティ関連のマップキーまたは OneToMany エンティティ関連の場合、外部キー列は結合テーブル内にあります。
      • 外部キーマッピング戦略を使用した OneToMany エンティティ関連に対する結合の場合、マップキーの外部キー列は、マップの値であるエンティティのテーブル内にあります。

      デフォルト:

      • マップが要素コレクション用である場合、マップ値のコレクションテーブルの名前。
      • マップが結合テーブルを使用する OneToMany または ManyToMany エンティティ関連用の場合、マップの結合テーブルの名前。
      • マップが外部キーマッピング戦略を使用した OneToMany エンティティ関連用の場合、マップの値であるエンティティのプライマリテーブルの名前。
      デフォルト:
      ""
    • foreignKey

      ForeignKey foreignKey
      (オプション) テーブル生成が有効な場合に、外部キー制約の生成を指定または制御するために使用されます。この要素が指定されていない場合、デフォルトの外部キー戦略が永続化プロバイダーによって選択されます。
      導入:
      2.1
      デフォルト:
      @jakarta.persistence.ForeignKey(PROVIDER_DEFAULT)