Jakarta Persistence (JPA) Interface
jakarta.persistence.criteria.Subquery<T>
- Type Parameters:
<T>- the type of the selection item.
- Super Interfaces:
AbstractQuery<T>,Expression<T>,CommonAbstractCriteria,Selection<T>,TupleElement<X>
The
Subquery interface defines functionality that is specific to subqueries. A subquery has an expression as its selection item.
- Since:
- Jakarta Persistence (JPA) 2.0
Public Instance Methods
Once assigned, an alias cannot be changed or reassigned. Returns the same selection item.
Inherited from
Selection<X>- Parameters:
name- alias
- Returns:
- selection item.
- Since:
- Jakarta Persistence (JPA) 1.0
Unlike
Expression.cast, this method does not cause type conversion: the runtime type is not changed. Warning: may result in a runtime failure.
Inherited from
Expression<T>- Parameters:
type- intended type of the expression
- Returns:
- new expression of the given type.
- See Also:
- Since:
- Jakarta Persistence (JPA) 1.0
Unlike
Expression.as, this method does result in a runtime type conversion. Providers are required to support casting scalar expressions to String, and String expressions to Integer, Long, Float, and Double. Support for typecasts between other basic types is not required.
Inherited from
Expression<T>- Parameters:
type- a basic type
- Returns:
- a scalar expression of the given basic type.
- Since:
- Jakarta Persistence (JPA) 3.2
- Parameters:
parentRoot- a root of the containing query
- Returns:
- subquery root.
- Since:
- Jakarta Persistence (JPA) 1.0
- Parameters:
parentJoin- join object of the containing query
- Returns:
- subquery join.
- Since:
- Jakarta Persistence (JPA) 1.0
- Parameters:
parentCollection- join object of the containing query
- Returns:
- subquery join.
- Since:
- Jakarta Persistence (JPA) 1.0
- Parameters:
parentSet- join object of the containing query
- Returns:
- subquery join.
- Since:
- Jakarta Persistence (JPA) 1.0
- Parameters:
parentList- join object of the containing query
- Returns:
- subquery join.
- Since:
- Jakarta Persistence (JPA) 1.0
- Parameters:
parentMap- join object of the containing query
- Returns:
- subquery join.
- Since:
- Jakarta Persistence (JPA) 1.0
A true value will cause duplicates to be eliminated. A false value will cause duplicates to be retained. If distinct has not been specified, duplicate results must be retained. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.distinct- Parameters:
distinct- boolean value specifying whether duplicate results must be eliminated from the subquery result or whether they must be retained
- Returns:
- the modified subquery..
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Parameters:
value- expression to be tested against
- Returns:
- predicate testing for equality.
- Since:
- Jakarta Persistence (JPA) 3.2
Inherited from
Expression<T>- Parameters:
value- value to be tested against
- Returns:
- predicate testing for equality.
- Since:
- Jakarta Persistence (JPA) 3.2
Inherited from
AbstractQuery<T>- Parameters:
entityClass- the entity class
- Returns:
- query root corresponding to the given entity.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
AbstractQuery<T>- Parameters:
entity- metamodel entity representing the entity of type X
- Returns:
- query root corresponding to the given entity.
- Since:
- Jakarta Persistence (JPA) 1.0
String getAlias()Modifications to the list do not affect the query.
Inherited from
Selection<X>- Returns:
- list of selection items.
- Throws:
- if selection is not a compound selection.IllegalStateException
- Since:
- Jakarta Persistence (JPA) 1.0
This may be a CriteriaQuery, CriteriaUpdate, CriteriaDelete, or a Subquery.
- Returns:
- the enclosing query or subquery.
- Since:
- Jakarta Persistence (JPA) 2.1
Returns empty set if the subquery has no correlated joins. Modifications to the set do not affect the query.
- Returns:
- the correlated joins of the subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Returns empty list if no grouping expressions have been specified. Modifications to the list do not affect the query.
Inherited from
AbstractQuery<T>- Returns:
- the list of grouping expressions.
- Since:
- Jakarta Persistence (JPA) 1.0
Class<? extends X> getJavaType()Inherited from
TupleElement<X>- Returns:
- the Java type of the tuple element.
- Since:
- Jakarta Persistence (JPA) 1.0
Returns empty set if there are no parameters. Modifications to the set do not affect the query.
Inherited from
CommonAbstractCriteria- Returns:
- the query parameters.
- Since:
- Jakarta Persistence (JPA) 1.0
This must be a CriteriaQuery or a Subquery.
- Returns:
- the enclosing query or subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
CommonAbstractCriteria- Returns:
- where clause predicate.
- Since:
- Jakarta Persistence (JPA) 1.0
Class<T> getResultType()If a result type was specified as an argument to the
createQuery or subquery method, that type is returned. If the query was created using the createTupleQuery method, the result type is Tuple. Otherwise, the result type is Object.Inherited from
AbstractQuery<T>- Returns:
- result type.
- Since:
- Jakarta Persistence (JPA) 1.0
These are the roots that are defined for the
CriteriaQuery<T> or Subquery<T> itself, including any subquery roots defined as a result of correlation. Returns an empty set if no roots have been defined. Modifications to the set do not affect the query.Inherited from
AbstractQuery<T>- Returns:
- the set of query roots.
- Since:
- Jakarta Persistence (JPA) 1.0
Overrides
AbstractQuery.getSelection- Returns:
- the item to be returned in the subquery result.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previous specified grouping expressions, if any. If no grouping expressions are specified, any previously added grouping expressions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.groupBy- Parameters:
grouping- zero or more grouping expressions
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previous specified grouping expressions, if any. If no grouping expressions are specified, any previously added grouping expressions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.groupBy- Parameters:
grouping- list of zero or more grouping expressions
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previous having restriction(s), if any. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.having- Parameters:
restriction- a simple or compound boolean expression
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previously added having restriction(s), if any. If no restrictions are specified, any previously added restrictions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.having- Parameters:
restrictions- zero or more restriction predicates
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previously added having restriction(s), if any. If no restrictions are specified, any previously added restrictions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.having- Parameters:
restrictions- a list of zero or more restriction predicates
- Returns:
- the modified query.
- Since:
- Jakarta Persistence (JPA) 3.2
Inherited from
Expression<T>- Parameters:
values- values to be tested against
- Returns:
- predicate testing for membership.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Parameters:
values- expressions to be tested against
- Returns:
- predicate testing for membership.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Parameters:
values- collection of values to be tested against
- Returns:
- predicate testing for membership.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Parameters:
values- expression corresponding to collection to be tested against
- Returns:
- predicate testing for membership.
- Since:
- Jakarta Persistence (JPA) 1.0
boolean isCompoundSelection()Inherited from
Selection<X>- Returns:
- boolean indicating whether the selection is a compound selection.
- Since:
- Jakarta Persistence (JPA) 1.0
boolean isDistinct()Inherited from
AbstractQuery<T>- Returns:
- boolean indicating whether duplicate query results must be eliminated.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Returns:
- predicate testing whether the expression is not null.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Returns:
- predicate testing whether the expression is null.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
Expression<T>- Parameters:
value- expression to be tested against
- Returns:
- predicate testing for inequality.
- Since:
- Jakarta Persistence (JPA) 3.2
Inherited from
Expression<T>- Parameters:
value- value to be tested against
- Returns:
- predicate testing for inequality.
- Since:
- Jakarta Persistence (JPA) 3.2
Replaces the previously specified selection, if any.
- Parameters:
expression- expression specifying the item that is to be returned as the subquery result
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
CommonAbstractCriteria- Parameters:
type- the subquery result type
- Returns:
- subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Inherited from
CommonAbstractCriteria- Parameters:
type- the subquery result type
- Returns:
- subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previously added restriction(s), if any. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.where- Parameters:
restriction- a simple or compound boolean expression
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previously added restriction(s), if any. If no restrictions are specified, any previously added restrictions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.where- Parameters:
restrictions- zero or more restriction predicates
- Returns:
- the modified subquery.
- Since:
- Jakarta Persistence (JPA) 1.0
Replaces the previously added restriction(s), if any. If no restrictions are specified, any previously added restrictions are simply removed. This method only overrides the return type of the corresponding
AbstractQuery method.Overrides
AbstractQuery.where- Parameters:
restrictions- a list of zero or more restriction predicates
- Returns:
- the modified query.
- Since:
- Jakarta Persistence (JPA) 3.2