パッケージ jakarta.persistence

アノテーション型 MapKeyColumn


  • @TargetSE({METHODSE,FIELDSE})
    @RetentionSE(RUNTIMESE)
    public @interface MapKeyColumn
    マップキーが基本型であるマップのキー列のマッピングを指定します。name 要素が指定されていない場合、デフォルトで次の連結になります。参照関連フィールドまたはプロパティの名前。"_" ; " キー "。
        Example:
    
        @Entity
        public class Item {
           @Id int id;
           ...
           @ElementCollection
           @MapKeyColumn(name="IMAGE_NAME")
           @Column(name="IMAGE_FILENAME")
           @CollectionTable(name="IMAGE_MAPPING")
           Map<String, String> images;  // map from image name to filename
           ...
        } 
     
    導入:
    2.0
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      StringSEcolumnDefinition
      (オプション)列の DDL を生成するときに使用される SQL フラグメント。
      booleaninsertable
      (オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。
      intlength
      (オプション)列の長さ。
      StringSEname
      (オプション)マップキー列の名前。
      booleannullable
      (オプション)データベース列が null 可能かどうか。
      intprecision
      (オプション)10 進数(正確な数値)列の精度。
      intscale
      (オプション)10 進数(正確な数値)列のスケール。
      StringSEtable
      (オプション)列を含むテーブルの名前。
      booleanunique
      (オプション)列が一意キーであるかどうか。
      booleanupdatable
      (オプション)永続プロバイダーによって生成された 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 になります。

        デフォルト:
        ""
      • table

        StringSE table
        (オプション)列を含むテーブルの名前。

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

        デフォルト:
        ""
      • length

        int length
        (オプション)列の長さ。(文字列値の列が使用されている場合にのみ適用されます。)
        デフォルト:
        255
      • precision

        int precision
        (オプション)10 進数(正確な数値)列の精度。(10 進列が使用されている場合にのみ適用されます。)

        デフォルト: 0. (値は開発者が設定する必要があります。)

        デフォルト:
        0
      • scale

        int scale
        (オプション)10 進数(正確な数値)列のスケール。(10 進列が使用されている場合にのみ適用されます。)
        デフォルト:
        0