Class AbstractSqmSelectQuery<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.select.AbstractSqmSelectQuery<T>
- All Implemented Interfaces:
AbstractQuery<T>
,CommonAbstractCriteria
,Serializable
,JpaCriteriaBase
,JpaCriteriaNode
,JpaCteContainer
,JpaSelectCriteria<T>
,SqmCteContainer
,SqmSelectQuery<T>
,SqmNode
,SqmQuery<T>
- Direct Known Subclasses:
SqmSelectStatement
,SqmSubQuery
public abstract class AbstractSqmSelectQuery<T>
extends AbstractSqmNode
implements SqmSelectQuery<T>
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractSqmSelectQuery
(Class<T> resultType, NodeBuilder builder) protected
AbstractSqmSelectQuery
(NodeBuilder builder, Map<String, SqmCteStatement<?>> cteStatements, Class<T> resultType) AbstractSqmSelectQuery
(SqmQueryPart<T> queryPart, Class<T> resultType, NodeBuilder builder) AbstractSqmSelectQuery
(SqmQueryPart<T> queryPart, Map<String, SqmCteStatement<?>> cteStatements, Class<T> resultType, NodeBuilder builder) -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendHqlString
(StringBuilder hql, SqmRenderContext context) protected Map
<String, SqmCteStatement<?>> copyCteStatements
(SqmCopyContext context) distinct
(boolean distinct) boolean
<X> SqmDerivedRoot
<X> Create and add a query root corresponding to the given subquery, forming a cartesian product with any existing roots.<X> SqmRoot
<X> from
(EntityType<X> entityType) <X> SqmRoot
<X> <X> JpaRoot
<X> from
(JpaCteCriteria<X> cte) Create and add a query root corresponding to the given cte, forming a cartesian product with any existing roots.<X> JpaFunctionRoot
<X> from
(JpaSetReturningFunction<X> function) Create and add a query root corresponding to the given set-returning function, forming a cartesian product with any existing roots.<X> JpaCteCriteria
<X> getCteCriteria
(String cteName) Returns a CTE that is registered by the given name on this container, or any of its parents.Collection
<? extends JpaCteCriteria<?>> Returns the CTEs that are registered on this container.getCteStatement
(String cteLabel) List
<Expression<?>> The query structure.The query structure.getResultSelection
(Selection<?>[] selections) <E> JpaRoot
<? extends E> <E> JpaRoot
<? extends E> getRoots()
groupBy
(Expression<?>... expressions) groupBy
(List<Expression<?>> grouping) int
hashCode()
having
(Expression<Boolean> booleanExpression) boolean
void
setQueryPart
(SqmQueryPart<T> sqmQueryPart) where
(Expression<Boolean> restriction) <X> JpaCteCriteria
<X> with
(AbstractQuery<X> criteria) Deprecated.<X> JpaCteCriteria
<X> with
(String name, AbstractQuery<X> criteria) LikeJpaCteContainer.with(AbstractQuery)
but assigns an explicit CTE name.protected <X> JpaCteCriteria
<X> withInternal
(String name, AbstractQuery<X> criteria) protected <X> JpaCteCriteria
<X> withInternal
(String name, AbstractQuery<X> baseCriteria, boolean unionDistinct, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) <X> JpaCteCriteria
<X> withRecursiveUnionAll
(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Allows to register a recursive CTE.<X> JpaCteCriteria
<X> withRecursiveUnionAll
(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) LikeJpaCteContainer.withRecursiveUnionAll(AbstractQuery, Function)
but assigns an explicit CTE name.<X> JpaCteCriteria
<X> withRecursiveUnionDistinct
(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Allows to register a recursive CTE.<X> JpaCteCriteria
<X> withRecursiveUnionDistinct
(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) LikeJpaCteContainer.withRecursiveUnionDistinct(AbstractQuery, Function)
but assigns an explicit CTE name.Methods inherited from class org.hibernate.query.sqm.tree.AbstractSqmNode
nodeBuilder
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jakarta.persistence.criteria.CommonAbstractCriteria
getParameters, subquery
Methods inherited from interface org.hibernate.query.criteria.JpaCriteriaBase
subquery
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.SqmQuery
generateAlias
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectQuery
copy
-
Constructor Details
-
AbstractSqmSelectQuery
-
AbstractSqmSelectQuery
-
AbstractSqmSelectQuery
protected AbstractSqmSelectQuery(NodeBuilder builder, Map<String, SqmCteStatement<?>> cteStatements, Class<T> resultType) -
AbstractSqmSelectQuery
public AbstractSqmSelectQuery(SqmQueryPart<T> queryPart, Map<String, SqmCteStatement<?>> cteStatements, Class<T> resultType, NodeBuilder builder)
-
-
Method Details
-
copyCteStatements
-
getCteStatements
- Specified by:
getCteStatements
in interfaceSqmCteContainer
-
getCteStatement
- Specified by:
getCteStatement
in interfaceSqmCteContainer
-
getCteCriterias
Description copied from interface:JpaCteContainer
Returns the CTEs that are registered on this container.- Specified by:
getCteCriterias
in interfaceJpaCteContainer
-
getCteCriteria
Description copied from interface:JpaCteContainer
Returns a CTE that is registered by the given name on this container, or any of its parents.- Specified by:
getCteCriteria
in interfaceJpaCteContainer
-
with
Deprecated.Description copied from interface:JpaCteContainer
Registers the givenCriteriaQuery
and returns aJpaCteCriteria
, which can be used for querying.- Specified by:
with
in interfaceJpaCteContainer
- See Also:
-
withRecursiveUnionAll
public <X> JpaCteCriteria<X> withRecursiveUnionAll(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainer
Allows to register a recursive CTE. The baseCriteriaQuery
serves for the structure of theJpaCteCriteria
, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQuery
is able to refer to the CTE again.- Specified by:
withRecursiveUnionAll
in interfaceJpaCteContainer
- See Also:
-
withRecursiveUnionDistinct
public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainer
Allows to register a recursive CTE. The baseCriteriaQuery
serves for the structure of theJpaCteCriteria
, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQuery
is able to refer to the CTE again.- Specified by:
withRecursiveUnionDistinct
in interfaceJpaCteContainer
- See Also:
-
with
Description copied from interface:JpaCteContainer
LikeJpaCteContainer.with(AbstractQuery)
but assigns an explicit CTE name.- Specified by:
with
in interfaceJpaCteContainer
-
withRecursiveUnionAll
public <X> JpaCteCriteria<X> withRecursiveUnionAll(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainer
LikeJpaCteContainer.withRecursiveUnionAll(AbstractQuery, Function)
but assigns an explicit CTE name.- Specified by:
withRecursiveUnionAll
in interfaceJpaCteContainer
-
withRecursiveUnionDistinct
public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainer
LikeJpaCteContainer.withRecursiveUnionDistinct(AbstractQuery, Function)
but assigns an explicit CTE name.- Specified by:
withRecursiveUnionDistinct
in interfaceJpaCteContainer
-
withInternal
-
withInternal
protected <X> JpaCteCriteria<X> withInternal(String name, AbstractQuery<X> baseCriteria, boolean unionDistinct, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) -
getResultType
- Specified by:
getResultType
in interfaceAbstractQuery<T>
-
getQuerySpec
Description copied from interface:JpaSelectCriteria
The query structure. SeeJpaQueryStructure
for details- Specified by:
getQuerySpec
in interfaceJpaSelectCriteria<T>
- Specified by:
getQuerySpec
in interfaceSqmSelectQuery<T>
-
getQueryPart
Description copied from interface:JpaSelectCriteria
The query structure. SeeJpaQueryStructure
for details- Specified by:
getQueryPart
in interfaceJpaSelectCriteria<T>
- Specified by:
getQueryPart
in interfaceSqmSelectQuery<T>
-
setQueryPart
-
getRoots
- Specified by:
getRoots
in interfaceAbstractQuery<T>
-
getRootList
- See Also:
-
getRoot
- See Also:
-
getRoot
- See Also:
-
from
- Specified by:
from
in interfaceAbstractQuery<T>
- Specified by:
from
in interfaceJpaSelectCriteria<T>
-
from
Description copied from interface:JpaSelectCriteria
Create and add a query root corresponding to the given subquery, forming a cartesian product with any existing roots.- Specified by:
from
in interfaceJpaSelectCriteria<T>
- Parameters:
subquery
- the subquery- Returns:
- query root corresponding to the given subquery
-
from
Description copied from interface:JpaSelectCriteria
Create and add a query root corresponding to the given cte, forming a cartesian product with any existing roots.- Specified by:
from
in interfaceJpaSelectCriteria<T>
- Parameters:
cte
- the cte criteria- Returns:
- query root corresponding to the given cte
-
from
Description copied from interface:JpaSelectCriteria
Create and add a query root corresponding to the given set-returning function, forming a cartesian product with any existing roots.- Specified by:
from
in interfaceJpaSelectCriteria<T>
- Parameters:
function
- the set-returning function- Returns:
- query root corresponding to the given function
-
from
- Specified by:
from
in interfaceAbstractQuery<T>
- Specified by:
from
in interfaceJpaSelectCriteria<T>
-
isDistinct
public boolean isDistinct()- Specified by:
isDistinct
in interfaceAbstractQuery<T>
-
distinct
- Specified by:
distinct
in interfaceAbstractQuery<T>
- Specified by:
distinct
in interfaceJpaSelectCriteria<T>
- Specified by:
distinct
in interfaceSqmSelectQuery<T>
-
getSelection
- Specified by:
getSelection
in interfaceAbstractQuery<T>
- Specified by:
getSelection
in interfaceJpaSelectCriteria<T>
-
getRestriction
- Specified by:
getRestriction
in interfaceCommonAbstractCriteria
- Specified by:
getRestriction
in interfaceJpaCriteriaBase
- Specified by:
getRestriction
in interfaceJpaSelectCriteria<T>
-
where
- Specified by:
where
in interfaceAbstractQuery<T>
- Specified by:
where
in interfaceJpaSelectCriteria<T>
-
where
- Specified by:
where
in interfaceAbstractQuery<T>
- Specified by:
where
in interfaceJpaSelectCriteria<T>
-
where
- Specified by:
where
in interfaceAbstractQuery<T>
-
getGroupList
- Specified by:
getGroupList
in interfaceAbstractQuery<T>
-
groupBy
- Specified by:
groupBy
in interfaceAbstractQuery<T>
- Specified by:
groupBy
in interfaceJpaSelectCriteria<T>
-
groupBy
- Specified by:
groupBy
in interfaceAbstractQuery<T>
- Specified by:
groupBy
in interfaceJpaSelectCriteria<T>
-
getGroupRestriction
- Specified by:
getGroupRestriction
in interfaceAbstractQuery<T>
- Specified by:
getGroupRestriction
in interfaceJpaSelectCriteria<T>
-
having
- Specified by:
having
in interfaceAbstractQuery<T>
- Specified by:
having
in interfaceJpaSelectCriteria<T>
-
having
- Specified by:
having
in interfaceAbstractQuery<T>
- Specified by:
having
in interfaceJpaSelectCriteria<T>
-
having
- Specified by:
having
in interfaceAbstractQuery<T>
-
appendHqlString
-
equals
-
hashCode
public int hashCode() -
getResultSelection
-