T
- the type of the resultpublic interface AbstractQuery<T> extends CommonAbstractCriteria
AbstractQuery
interface defines functionality that is common
to both top-level queries and subqueries.
It is not intended to be used directly in query construction.
All queries must have: a set of root entities (which may in turn own joins).
All queries may have: a conjunction of restrictions.
Modifier and Type | Method and Description |
---|---|
AbstractQuery<T> |
distinct(boolean distinct)
Specify whether duplicate query results will be eliminated.
|
<X> Root<X> |
from(java.lang.Class<X> entityClass)
Create and add a query root corresponding to the given entity,
forming a cartesian product with any existing roots.
|
<X> Root<X> |
from(EntityType<X> entity)
Create and add a query root corresponding to the given entity,
forming a cartesian product with any existing roots.
|
java.util.List<Expression<?>> |
getGroupList()
Return a list of the grouping expressions.
|
Predicate |
getGroupRestriction()
Return the predicate that corresponds to the restriction(s)
over the grouping items, or null if no restrictions have
been specified.
|
java.lang.Class<T> |
getResultType()
Return the result type of the query or subquery.
|
java.util.Set<Root<?>> |
getRoots()
Return the query roots.
|
Selection<T> |
getSelection()
Return the selection of the query, or null if no selection
has been set.
|
AbstractQuery<T> |
groupBy(Expression<?>... grouping)
Specify the expressions that are used to form groups over
the query results.
|
AbstractQuery<T> |
groupBy(java.util.List<Expression<?>> grouping)
Specify the expressions that are used to form groups over
the query results.
|
AbstractQuery<T> |
having(Expression<java.lang.Boolean> restriction)
Specify a restriction over the groups of the query.
|
AbstractQuery<T> |
having(Predicate... restrictions)
Specify restrictions over the groups of the query
according the conjunction of the specified restriction
predicates.
|
boolean |
isDistinct()
Return whether duplicate query results must be eliminated or
retained.
|
AbstractQuery<T> |
where(Expression<java.lang.Boolean> restriction)
Modify the query to restrict the query results according
to the specified boolean expression.
|
AbstractQuery<T> |
where(Predicate... restrictions)
Modify the query to restrict the query results according
to the conjunction of the specified restriction predicates.
|
getRestriction, subquery
<X> Root<X> from(java.lang.Class<X> entityClass)
entityClass
- the entity class<X> Root<X> from(EntityType<X> entity)
entity
- metamodel entity representing the entity
of type XAbstractQuery<T> where(Expression<java.lang.Boolean> restriction)
restriction
- a simple or compound boolean expressionAbstractQuery<T> where(Predicate... restrictions)
restrictions
- zero or more restriction predicatesAbstractQuery<T> groupBy(Expression<?>... grouping)
grouping
- zero or more grouping expressionsAbstractQuery<T> groupBy(java.util.List<Expression<?>> grouping)
grouping
- list of zero or more grouping expressionsAbstractQuery<T> having(Expression<java.lang.Boolean> restriction)
restriction
- a simple or compound boolean expressionAbstractQuery<T> having(Predicate... restrictions)
restrictions
- zero or more restriction predicatesAbstractQuery<T> distinct(boolean distinct)
distinct
- boolean value specifying whether duplicate
results must be eliminated from the query result or
whether they must be retainedjava.util.Set<Root<?>> getRoots()
CriteriaQuery
or Subquery
itself,
including any subquery roots defined as a result of
correlation. Returns empty set if no roots have been defined.
Modifications to the set do not affect the query.Selection<T> getSelection()
java.util.List<Expression<?>> getGroupList()
Predicate getGroupRestriction()
boolean isDistinct()
java.lang.Class<T> getResultType()
createQuery
or subquery
method, that
type will be returned. If the query was created using the
createTupleQuery
method, the result type is
Tuple
. Otherwise, the result type is
Object
.