javax.persistence.criteria

## Interface CollectionJoin<Z,E>

Type Parameters:
  `Z` - the source type of the join
  `E` - the element type of the target `Collection`

All Superinterfaces:
  Expression<E>, FetchParent<Z,E>, From<Z,E>, Join<Z,E>, Path<E>, PluralJoin<Z,Collection<E>,E>, Selection<E>, TupleElement<E>

    public interface CollectionJoin<Z,E>
    extends PluralJoin<Z,Collection<E>,E>

The `CollectionJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.Collection`.

Since:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`CollectionAttribute<? super Z,E>` `getModel()` Return the metamodel representation for the collection attribute.
`CollectionJoin<Z,E>` `on(Expression<Boolean> restriction)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`CollectionJoin<Z,E>` `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.Join

`getAttribute, getJoinType, getOn, getParent`

### 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, 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

    CollectionJoin<Z,E> 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.

Specified by:
  `on` in interface `Join<Z,E>`
Parameters:
  `restriction` - a simple or compound boolean expression
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### on

    CollectionJoin<Z,E> 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.

Specified by:
  `on` in interface `Join<Z,E>`
Parameters:
  `restrictions` - zero or more restriction predicates
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### getModel

    CollectionAttribute<? super Z,E> getModel()

Return the metamodel representation for the collection attribute.

Specified by:
  `getModel` in interface `Path<E>`
Specified by:
  `getModel` in interface `PluralJoin<Z,Collection<E>,E>`
Returns:
  metamodel type representing the `Collection` that is the target of the join