1 対 1 マッピング

「1 対 1 マッピング」を使用して、1 対多の多重度を持つ関係を定義します。

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

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

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

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

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

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

    • 遅延 (Lazy)

    早急 (Eager)
    マップ元 関係を所有するデータベース・フィールド。

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

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

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

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

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

@OneToOne(targetEntity=<TARGET_ENTITY>, cascade=CascadeType.<CASCADE_TYPE>,
    fetch = FetchType.<FETCH_TYPE>, mappedBy = "<MAPPED_BY>")
@JoinColumn(name="<JOIN_COLUMN_NAME>", referencedColumnName=
    "<JOIN_COLUMN_REFERENCED_COLUMN>", insertable = <INSERTABLE>,
    updatable = <UPDATABLE>)


 

関連タスク

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

 

関連リファレンス

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

 

関連概念

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