One-to-many mapping

Use a One-to-Many Mapping to define a relationship with one-to-many multiplicity.

  1. In the JPA Structure view, select the field to map.

  2. Right-click the field and then select Map As > One-to-many. The JPA Details view (for attributes) displays the properties for the selected.

  3. 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.
    • Default

    • All

    • Persist

    • Merge

    • Remove


    Fetch Defines how data is loaded from the database. See "Fetch Type" for details.
    • Eager

    • Lazy

    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

    • Primary key

    • Custom

    No ordering

  4. 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>"))

 

Related task

Mapping an entity

 

Related reference

JPA Structure view
JPA Details view (for attributes)

 

Related concept

Understanding OR mappings
Understanding EJB 3.0 Java Persistence API