javax.persistence.criteria

## Interface FetchParent<Z,X>

Type Parameters:
  `Z` - the source type
  `X` - the target type

All Known Subinterfaces:
  CollectionJoin<Z,E>, Fetch<Z,X>, From<Z,X>, Join<Z,X>, ListJoin<Z,E>, MapJoin<Z,K,V>, PluralJoin<Z,C,E>, Root<X>, SetJoin<Z,E>

    public interface FetchParent<Z,X>

Represents an element of the from clause which may function as the parent of Fetches.

Since:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`<Y> Fetch<X,Y>` `fetch(PluralAttribute<? super X,?,Y> attribute)` Create a fetch join to the specified collection-valued attribute using an inner join.
`<Y> Fetch<X,Y>` `fetch(PluralAttribute<? super X,?,Y> attribute, JoinType jt)` Create a fetch join to the specified collection-valued attribute using the given join type.
`<Y> Fetch<X,Y>` `fetch(SingularAttribute<? super X,Y> attribute)` Create a fetch join to the specified single-valued attribute using an inner join.
`<Y> Fetch<X,Y>` `fetch(SingularAttribute<? super X,Y> attribute, JoinType jt)` Create a fetch join to the specified single-valued attribute using the given join type.
`<X,Y> Fetch<X,Y>` `fetch(java.lang.String attributeName)` Create a fetch join to the specified attribute using an inner join.
`<X,Y> Fetch<X,Y>` `fetch(java.lang.String attributeName, JoinType jt)` Create a fetch join to the specified attribute using the given join type.
`java.util.Set<Fetch<X,?>>` `getFetches()` Return the fetch joins that have been made from this type.

### Method Detail

#### getFetches

    java.util.Set<Fetch<X,?>> getFetches()

Return the fetch joins that have been made from this type. Returns empty set if no fetch joins have been made from this type. Modifications to the set do not affect the query.

Returns:
  fetch joins made from this type

#### fetch

    <Y> Fetch<X,Y> fetch(SingularAttribute<? super X,Y> attribute)

Create a fetch join to the specified single-valued attribute using an inner join.

Parameters:
  `attribute` - target of the join
Returns:
  the resulting fetch join

#### fetch

    <Y> Fetch<X,Y> fetch(SingularAttribute<? super X,Y> attribute,
                         JoinType jt)

Create a fetch join to the specified single-valued attribute using the given join type.

Parameters:
  `attribute` - target of the join
  `jt` - join type
Returns:
  the resulting fetch join

#### fetch

    <Y> Fetch<X,Y> fetch(PluralAttribute<? super X,?,Y> attribute)

Create a fetch join to the specified collection-valued attribute using an inner join.

Parameters:
  `attribute` - target of the join
Returns:
  the resulting join

#### fetch

    <Y> Fetch<X,Y> fetch(PluralAttribute<? super X,?,Y> attribute,
                         JoinType jt)

Create a fetch join to the specified collection-valued attribute using the given join type.

Parameters:
  `attribute` - target of the join
  `jt` - join type
Returns:
  the resulting join

#### fetch

    <X,Y> Fetch<X,Y> fetch(java.lang.String attributeName)

Create a fetch join to the specified attribute using an inner join.

Parameters:
  `attributeName` - name of the attribute for the target of the join
Returns:
  the resulting fetch join
Throws:
  `java.lang.IllegalArgumentException` - if attribute of the given name does not exist

#### fetch

    <X,Y> Fetch<X,Y> fetch(java.lang.String attributeName,
                           JoinType jt)

Create a fetch join to the specified attribute using the given join type.

Parameters:
  `attributeName` - name of the attribute for the target of the join
  `jt` - join type
Returns:
  the resulting fetch join
Throws:
  `java.lang.IllegalArgumentException` - if attribute of the given name does not exist