多対 1 マッピング

「多対 1」 マッピングを使用して、多対 1 の多重度を持つ別のエンティティー・クラスに対して単一値の関連付けを定義します。

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

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

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

    プロパティー 説明 デフォルト
    エンティティーのハイパーリンクのマッピング マッピングを「多対 1」として定義します。これは注釈 @ManyToOne に対応します。 多対 1
    ターゲット・エンティティー この属性のマップ先となるエンティティー。 null

    ターゲット・エンティティーは参照されるオブジェクトのタイプから推論できるため、明示的に指定する必要はありません。

    取り出し データをデータベースからロードする方法を定義します。詳しくは、取り出しタイプを参照してください。
    • 早急 (Eager)

    • 遅延 (Lazy)

    早急 (Eager)
    カスケード 詳しくは、 カスケード・タイプを参照してください。
    • デフォルト

    • すべて

    • 保持

    • マージ

    • 削除

    デフォルト
    オプション このフィールドを NULL にできるかを指定します。 はい

  4. 以下の表を使用して、「JPA の詳細」ビューの「結合列情報」のタブのフィールドに入力します。

    プロパティー 説明 デフォルト
    結合列 エンティティーの関連付けの結合用にマップ済みの列を指定します。このフィールドは @JoinColum の属性に対応します。

    「デフォルト値のオーバーライド」を選択して、結合列を追加、編集、または削除します。

    デフォルトでは、マッピングは単一結合を持つと想定されています。

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

@JoinTable(joinColumns=@JoinColumn(name="<JOIN_COLUMN>"),
    name = "<JOIN_TABLE_NAME>")
@ManyToOne(targetEntity=<TARGET_ENTITY>, fetch=<FETCH_TYPE>,
    cascade=<CASCADE_TYPE>)

 

関連タスク

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

 

関連リファレンス

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

 

関連概念

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