## javax.persistence.criteria
Interface Subquery<T>

All Superinterfaces:
  AbstractQuery<T>, Expression<T>, Selection<T>, TupleElement<T>

    public interface Subquery<T>

extends AbstractQuery<T>, Expression<T>

Method Summary

`

`<X,Y> CollectionJoin<X,Y>`

`

`correlate(CollectionJoin<X,Y> parentCollection)`

`

`<X,Y> Join<X,Y>`

`

`correlate(Join<X,Y> parentJoin)`

`

`<X,Y> ListJoin<X,Y>`

`

`correlate(ListJoin<X,Y> parentList)`

`

`<X,K,V> MapJoin<X,K,V>`

`

`correlate(MapJoin<X,K,V> parentMap)`

`

`<Y> Root<Y>`

`

`correlate(Root<Y> parentRoot)`

`

`<X,Y> SetJoin<X,Y>`

`

`correlate(SetJoin<X,Y> parentSet)`

`Subquery<T>` `distinct(boolean distinct)`
`java.util.Set<Join<?,?>>` `getCorrelatedJoins()`
`AbstractQuery<?>` `getParent()`
`Expression<T>` `getSelection()`
`Subquery<T>` `groupBy(Expression<?>... grouping)`
`Subquery<T>` `groupBy(java.util.List<Expression<?>> grouping)`
`Subquery<T>` `having(Expression<java.lang.Boolean> restriction)`
`Subquery<T>` `having(Predicate... restrictions)`
`Subquery<T>` `select(Expression<T> expression)`
`Subquery<T>` `where(Expression<java.lang.Boolean> restriction)`
`Subquery<T>` `where(Predicate... restrictions)`

Methods inherited from interface javax.persistence.criteria.AbstractQuery
`from, from, getGroupList, getGroupRestriction, getRestriction, getResultType, getRoots, isDistinct, subquery`

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`

Method Detail

### select

    Subquery<T> select(Expression<T> expression)

### where

    Subquery<T> where(Expression<java.lang.Boolean> restriction)

  Specified by:
    `where` in interface `AbstractQuery<T>`

### where

    Subquery<T> where(Predicate... restrictions)

  Specified by:
    `where` in interface `AbstractQuery<T>`

### groupBy

    Subquery<T> groupBy(Expression<?>... grouping)

  Specified by:
    `groupBy` in interface `AbstractQuery<T>`

### groupBy

    Subquery<T> groupBy(java.util.List<Expression<?>> grouping)

  Specified by:
    `groupBy` in interface `AbstractQuery<T>`

### having

    Subquery<T> having(Expression<java.lang.Boolean> restriction)

  Specified by:
    `having` in interface `AbstractQuery<T>`

### having

    Subquery<T> having(Predicate... restrictions)

  Specified by:
    `having` in interface `AbstractQuery<T>`

### distinct

    Subquery<T> distinct(boolean distinct)

  Specified by:
    `distinct` in interface `AbstractQuery<T>`

### correlate

    <Y> Root<Y> correlate(Root<Y> parentRoot)

### correlate

    <X,Y> Join<X,Y> correlate(Join<X,Y> parentJoin)

### correlate

    <X,Y> CollectionJoin<X,Y> correlate(CollectionJoin<X,Y> parentCollection)

### correlate

    <X,Y> SetJoin<X,Y> correlate(SetJoin<X,Y> parentSet)

### correlate

    <X,Y> ListJoin<X,Y> correlate(ListJoin<X,Y> parentList)

### correlate

    <X,K,V> MapJoin<X,K,V> correlate(MapJoin<X,K,V> parentMap)

### getParent

    AbstractQuery<?> getParent()

### getSelection

    Expression<T> getSelection()

  Specified by:
    `getSelection` in interface `AbstractQuery<T>`

### getCorrelatedJoins

    java.util.Set<Join<?,?>> getCorrelatedJoins()