One-to-many mapping |
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. The JPA Details view (for attributes) displays the properties for the selected.
In the Map As field, select One-to-many.
Use this table to complete the General information fields JPA Details view.
Property | Description | Default |
---|---|---|
Target Entity | The entity to which this attribute is mapped. | |
Fetch Type | 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>"))