Use a One-to-Many Mapping to define a relationship with one-to-many multiplicity.
In the JPA Structure view, select the field to map.
Right-click the field and then select Map As > One-to-many. The JPA Details view (for attributes) displays the properties for the selected.
Use this table to complete the General information fields JPA Details view.
Property | Description | Default |
---|---|---|
Mapping Entity Type Hyperlink | Defines mapping as One-to-Many. This corresponds to the @OneToMany annotation. |
One-to-Many |
Target Entity | The entity to which this attribute is mapped. | |
Cascade | See "Cascade Type" for details.
|
|
Fetch | Defines how data is loaded from the database. See "Fetch Type" for details.
|
Eager |
Mapped By | The database field that owns the relationship. | |
Order By | Specify the default order for objects returned from a query. See "Order By" for details.
|
No ordering |
Use this table to complete the Join Table Information fields in the JPA Details view.
Property | Description | Default |
---|---|---|
Name | Name of the join table | By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore. |
Join Columns | Specify two or more join columns (that is, a primary key). | |
Inverse Join Columns | The join column on the owned (or inverse) side of the association: the owned entity's primary key column. |
Eclipse adds the following annotations to the field:
@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>"))