「1 対多マッピング」を使用して、1 対多の多重度を持つ関係を定義します。
「JPA の構造」ビューで、マップするフィールドを選択します。
このフィールドを右クリックしてから、「次としてマップ」>「1 対多」を選択します。「JPA の詳細」ビュー (属性用) に、選択されたフィールドのプロパティーが表示されます。
以下の表を使用して、「JPA の詳細」ビューの「一般情報」フィールドに入力します。
プロパティー | 説明 | デフォルト |
---|---|---|
エンティティー・タイプのハイパーリンクのマッピング | マッピングを「1 対多」として定義します。これは注釈 @OneToMany に対応します。 |
1 対多 |
ターゲット・エンティティー | この属性のマップ先となるエンティティー。 | |
カスケード | 詳しくは、
カスケード・タイプを参照してください。
|
|
取り出し | データをデータベースからロードする方法を定義します。詳しくは、取り出しタイプを参照してください。
|
早急 (Eager) |
マップ元 | 関係を所有するデータベース・フィールド。 | |
配列基準 | 照会から戻されたオブジェクトのデフォルトの順序を指定します。
詳しくは、配列基準を参照してください。
|
配列なし |
以下の表を使用して、「JPA の詳細」ビューの「結合テーブル情報」フィールドに入力します。
プロパティー | 説明 | デフォルト |
---|---|---|
名前 | 結合テーブルの名前 | デフォルトでは、名前はエンティティーに関連付けられた 1 次テーブルが下線で連結されたものと想定されます。 |
結合列 | 2 つ以上の結合列 (つまり主キー) を指定します。 | |
逆結合列 | 関連の所有されている (逆の) 側の結合列。所有されているエンティティーの主キー列。 |
Eclipse は以下の注釈をフィールドに追加します。
@OneToMany(targetEntity=<TARGET_ENTITY>) @Column(name="<COLUMN>") @OneToMany(targetEntity=<TARGET_ENTITY>.class, cascade=CascadeType.<CASCADE_TYPE>, fetch = FetchType.<FETCH_TYPE>, mappedBy = "<MAPPED_BY>")@OrderBy("<ORDER_BY>") @JoinTable(name="<JOIN_TABLE_NAME>", joinColumns=@JoinColumn(name= "<JOIN_COLUMN_NAME>", referencedColumnName="<JOIN_COLUMN_REFERENCED_COLUMN>"), inverseJoinColumns=@JoinColumn(name="<INVERSE_JOIN_COLUMN_NAME>", referencedColumnName="<INVERSE_JOIN_COLUMN_REFERENCED_COLUMN>"))