javax.persistence.criteria

## Interface Join<Z,X>

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

All Superinterfaces:
  Expression<X>, FetchParent<Z,X>, From<Z,X>, Path<X>, Selection<X>, TupleElement<X>

All Known Subinterfaces:
  CollectionJoin<Z,E>, ListJoin<Z,E>, MapJoin<Z,K,V>, PluralJoin<Z,C,E>, SetJoin<Z,E>

    public interface Join<Z,X>
    extends From<Z,X>

A join to an entity, embeddable, or basic type.

Since:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`Attribute<? super Z,?>` `getAttribute()` Return the metamodel attribute corresponding to the join.
`JoinType` `getJoinType()` Return the join type.
`Predicate` `getOn()` Return the predicate that corresponds to the ON restriction(s) on the join, or null if no ON condition has been specified.
`From<?,Z>` `getParent()` Return the parent of the join.
`Join<Z,X>` `on(Expression<Boolean> restriction)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`Join<Z,X>` `on(Predicate... restrictions)` Modify the join to restrict the result according to the specified ON condition and return the join object.

### Methods inherited from interface javax.persistence.criteria.From

`getCorrelationParent, getJoins, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet`

### Methods inherited from interface javax.persistence.criteria.Path

`get, get, get, get, getModel, getParentPath, type`

### Methods inherited from interface javax.persistence.criteria.Expression

`as, in, in, in, in, isNotNull, isNull`

### Methods inherited from interface javax.persistence.criteria.Selection

`alias, getCompoundSelectionItems, isCompoundSelection`

### Methods inherited from interface javax.persistence.TupleElement

`getAlias, getJavaType`

### Methods inherited from interface javax.persistence.criteria.FetchParent

`fetch, fetch, fetch, fetch, fetch, fetch, getFetches`

### Method Detail

#### on

    Join<Z,X> on(Expression<Boolean> restriction)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Parameters:
  `restriction` - a simple or compound boolean expression
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### on

    Join<Z,X> on(Predicate... restrictions)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Parameters:
  `restrictions` - zero or more restriction predicates
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### getOn

    Predicate getOn()

Return the predicate that corresponds to the ON restriction(s) on the join, or null if no ON condition has been specified.

Returns:
  the ON restriction predicate
Since:
  Java Persistence 2.1

#### getAttribute

    Attribute<? super Z,?> getAttribute()

Return the metamodel attribute corresponding to the join.

Returns:
  metamodel attribute corresponding to the join

#### getParent

    From<?,Z> getParent()

Return the parent of the join.

Returns:
  join parent

#### getJoinType

    JoinType getJoinType()

Return the join type.

Returns:
  join type