ID マッピング

「ID マッピング」を使用して、エンティティーの主キーを指定します。ID マッピングはエンティティーまたはマップされたスーパークラスと一緒に使用できます。それぞれのエンティティーが ID マッピングを持つ必要があります。

  1. 「JPA の構造」ビューで、マップするフィールドを選択します。

  2. このフィールドを右クリックしてから、「次としてマップ」>「ID」を選択します。「JPA の詳細」ビュー (属性用) に、選択されたフィールドのプロパティーが表示されます。

  3. 以下の表を使用して、「JPA の詳細」ビューの「一般情報」フィールドに入力します。

    プロパティー 説明 デフォルト
    エンティティー・マッピングのハイパーリンク このマッピングを「ID マッピング」として定義します。

    このフィールドは @Id の注釈に対応します。

    ID
    エンティティー属性にマップされたデータベース列。詳しくは、を参照してください。 デフォルトでは、列は属性と同様の名前を付けられると想定されています。
    テーブル エンティティー属性にマップされたデータベース・テーブル。 デフォルトでは、テーブルはエンティティーに関連付けられたテーブルと同一であると想定されています。
    一時的 データの型を指定します。詳しくは、一時的を参照してください。
    • 日付

    • 時間

    • タイム・スタンプ



  4. 以下の表を使用して、「JPA の詳細」ビューの「主キー生成」情報の領域のフィールドに入力します。

    プロパティー 説明 デフォルト
    主キー生成 これらのフィールドでは、主キーの生成方法を定義します。
      戦略 詳しくは、主キー生成を参照してください。
    • 自動

    • シーケンス

    • ID

    • テーブル

    自動
      生成プログラム名  戦略で指定される主キー生成プログラムの名前

追加のフィールドは選択された戦略に応じて「主キー生成」情報領域に表示されます。追加の情報については、「JPA の詳細」ビュー (属性用) を参照してください。

Eclipse は以下の注釈をフィールドに追加します。

@Id
@Column(name="<COLUMN_NAME>", table="<TABLE_NAME>", insertable=<INSERTABLE>,
    updatable=<UPDATABLE>)
@Temporal(<TEMPORAL>)
@GeneratedValue(strategy=GeneratorType.<STRATEGY>, generator="<GENERATOR_NAME>")@TableGenerator(name="<TABLE_GENERATOR_NAME>", table = "<TABLE_GENERATOR_TABLE>",
    pkColumnName = "<TABLE_GENERATOR_PK>",
    valueColumnName = "<TABLE_GENERATOR_VALUE_COLUMN>",
    pkColumnValue = "<TABLE_GENERATOR_PK_COLUMN_VALUE>")@SequenceGenerator(name="<SEQUENCE_GENERATOR_NAME>", 
    sequenceName="<SEQUENCE_GENERATOR_SEQUENCE>")

 

関連タスク

エンティティーのマッピング

 

関連リファレンス

「JPA の構造」ビュー
「JPA の詳細」ビュー (属性用)

 

関連概念

OR マッピングの理解
EJB 3.0 Java Persistence API の理解