Jump to: navigation, search

EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Relationship Mappings/Common Relationship Configurations/JoinFetch

< EclipseLink‎ | UserGuide‎ | JPA‎ | Basic JPA Development‎ | Mapping‎ | Relationship Mappings‎ | Common Relationship Configurations
Revision as of 11:07, 17 May 2011 by Ben.gelernter.oracle.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

EclipseLink JPA

Mailing ListForumsIRC
Help Wanted
Bug Day
Browse Source

Elug api package icon.png Key API


Use the @JoinFetch annotation to enable the joining and reading of the related objects in the same query as the source object.

Elug note icon.png

Note: We recommend setting join fetching at the query level, as not all queries require joining.

You can specify the @JoinFetch annotation for the following mappings:

Alternatively, you can use batch reading, especially for collection relationships.]].

@JoinFetch Annotation Attributes
Attribute Description Default Required?
value Set this attribute to the org.eclipse.persistence.annotations.JoinFetchType enumerated type of the fetch that you will be using.

The following are the valid values for the JoinFetchType:

  • INNER – This option provides the inner join fetching of the related object.
    Note: Inner joining does not allow for null or empty values.
  • OUTER – This option provides the outer join fetching of the related object.
    Note: Outer joining allows for null or empty values.

JoinFetchType.INNER No

The following example shows how to use the @JoinFetch annotation to specify Employee field managedEmployees.

Example: @JoinFetch Annotation
 public class Employee implements Serializable {
     @OneToMany(cascade=ALL, mappedBy="owner")
     public Collection<Employee> getManagedEmployees() {
         return managedEmployees;

Version: 2.2.0 DRAFT
Other versions...