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. The JPA Details view (for attributes) displays the properties for the selected.

  2. In the Map As field, select One-to-many.

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

    • Lazy

    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>.class, cascade=CascadeType.<CASCADE_TYPE>, 
    fetch = FetchType.<FETCH_TYPE>, mappedBy = "<MAPPED_BY>")@OrderBy("<ORDER_BY>")
@JoinTable(name="<JOIN_TABLE_NAME>", joinColumns=@JoinColumn(name=


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