## Uses of Interface
javax.persistence.criteria.Join

Packages that use Join
javax.persistence.criteria: Java Persistence Criteria API

### Uses of Join in javax.persistence.criteria

Subinterfaces of Join in javax.persistence.criteria
`interface` `CollectionJoin<Z,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`.
`interface` `ListJoin<Z,E>` The `ListJoin` 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.List`.
`interface` `MapJoin<Z,K,V>` The `MapJoin` 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.Map`.
`interface` `PluralJoin<Z,C,E>` The `PluralJoin` interface defines functionality that is common to joins to all collection types.
`interface` `SetJoin<Z,E>` The `SetJoin` 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.Set`.

Methods in javax.persistence.criteria that return Join
`<X,Y> Join<X,Y>` Subquery.`correlate(Join<X,Y> parentJoin)` Create a subquery join object correlated to a join object of the enclosing query.
`<Y> Join<X,Y>` From.`join(SingularAttribute<? super X,Y> attribute)` Create an inner join to the specified single-valued attribute.
`<Y> Join<X,Y>` From.`join(SingularAttribute<? super X,Y> attribute, JoinType jt)` Create a join to the specified single-valued attribute using the given join type.
`<X,Y> Join<X,Y>` From.`join(String attributeName)` Create an inner join to the specified attribute.
`<X,Y> Join<X,Y>` From.`join(String attributeName, JoinType jt)` Create a join to the specified attribute using the given join type.
`Join<Z,X>` Join.`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>` Join.`on(Predicate... restrictions)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`<X,T,V extends T> Join<X,V>` CriteriaBuilder.`treat(Join<X,T> join, Class<V> type)` Downcast Join object to the specified type.

Methods in javax.persistence.criteria that return types with arguments of type Join
`Set<Join<?,?>>` Subquery.`getCorrelatedJoins()` Return the correlated joins of the subquery.
`Set<Join<X,?>>` From.`getJoins()` Return the joins that have been made from this bound type.

Methods in javax.persistence.criteria with parameters of type Join
`<X,Y> Join<X,Y>` Subquery.`correlate(Join<X,Y> parentJoin)` Create a subquery join object correlated to a join object of the enclosing query.
`<X,T,V extends T> Join<X,V>` CriteriaBuilder.`treat(Join<X,T> join, Class<V> type)` Downcast Join object to the specified type.