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

All Methods Instance Methods Abstract Methods
`<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)`
`Set<Join<?,?>>` `getCorrelatedJoins()`
`AbstractQuery<?>` `getParent()`
`Expression<T>` `getSelection()`
`Subquery<T>` `groupBy(Expression<?>... grouping)`
`Subquery<T>` `groupBy(List<Expression<?>> grouping)`
`Subquery<T>` `having(Expression<Boolean> restriction)`
`Subquery<T>` `having(Predicate... restrictions)`
`Subquery<T>` `select(Expression<T> expression)`
`Subquery<T>` `where(Expression<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<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(List<Expression<?>> grouping)

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

#### having

    Subquery<T> having(Expression<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

    Set<Join<?,?>> getCorrelatedJoins()