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>, SqmCacheable, 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) protectedAbstractSqmSelectQuery(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 TypeMethodDescriptionvoidappendHqlString(StringBuilder hql, SqmRenderContext context) intprotected 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> @Nullable 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.@Nullable SqmCteStatement<?> getCteStatement(String cteLabel) List<Expression<?>> @Nullable SqmPredicateThe query structure.The query structure.@Nullable SqmPredicategetResultSelection(Selection<?>[] selections) <E> JpaRoot<? extends E> <E> JpaRoot<? extends E> getRoots()@Nullable JpaSelection<T> groupBy(Expression<?>... expressions) groupBy(List<Expression<?>> grouping) inthashCode()having(@Nullable Expression<Boolean> booleanExpression) booleanisCompatible(Object object) booleanvoidsetQueryPart(SqmQueryPart<T> sqmQueryPart) where(@Nullable 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 AbstractSqmNode
nodeBuilderMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CommonAbstractCriteria
getParameters, subqueryMethods inherited from interface JpaCriteriaBase
subqueryMethods inherited from interface SqmNode
asLoggableText, nodeBuilderMethods inherited from interface SqmQuery
generateAliasMethods inherited from interface 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:
getCteStatementsin interfaceSqmCteContainer
-
getCteStatement
- Specified by:
getCteStatementin interfaceSqmCteContainer
-
getCteCriterias
Description copied from interface:JpaCteContainerReturns the CTEs that are registered on this container.- Specified by:
getCteCriteriasin interfaceJpaCteContainer
-
getCteCriteria
Description copied from interface:JpaCteContainerReturns a CTE that is registered by the given name on this container, or any of its parents.- Specified by:
getCteCriteriain interfaceJpaCteContainer
-
with
Deprecated.Description copied from interface:JpaCteContainerRegisters the givenCriteriaQueryand returns aJpaCteCriteria, which can be used for querying.- Specified by:
within interfaceJpaCteContainer- See Also:
-
withRecursiveUnionAll
public <X> JpaCteCriteria<X> withRecursiveUnionAll(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerAllows to register a recursive CTE. The baseCriteriaQueryserves for the structure of theJpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQueryis able to refer to the CTE again.- Specified by:
withRecursiveUnionAllin interfaceJpaCteContainer- See Also:
-
withRecursiveUnionDistinct
public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerAllows to register a recursive CTE. The baseCriteriaQueryserves for the structure of theJpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQueryis able to refer to the CTE again.- Specified by:
withRecursiveUnionDistinctin interfaceJpaCteContainer- See Also:
-
with
Description copied from interface:JpaCteContainerLikeJpaCteContainer.with(AbstractQuery)but assigns an explicit CTE name.- Specified by:
within interfaceJpaCteContainer
-
withRecursiveUnionAll
public <X> JpaCteCriteria<X> withRecursiveUnionAll(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerLikeJpaCteContainer.withRecursiveUnionAll(AbstractQuery, Function)but assigns an explicit CTE name.- Specified by:
withRecursiveUnionAllin interfaceJpaCteContainer
-
withRecursiveUnionDistinct
public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(String name, AbstractQuery<X> baseCriteria, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerLikeJpaCteContainer.withRecursiveUnionDistinct(AbstractQuery, Function)but assigns an explicit CTE name.- Specified by:
withRecursiveUnionDistinctin interfaceJpaCteContainer
-
withInternal
-
withInternal
protected <X> JpaCteCriteria<X> withInternal(String name, AbstractQuery<X> baseCriteria, boolean unionDistinct, Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) -
getResultType
- Specified by:
getResultTypein interfaceAbstractQuery<T>
-
getQuerySpec
Description copied from interface:JpaSelectCriteriaThe query structure. SeeJpaQueryStructurefor details- Specified by:
getQuerySpecin interfaceJpaSelectCriteria<T>- Specified by:
getQuerySpecin interfaceSqmSelectQuery<T>
-
getQueryPart
Description copied from interface:JpaSelectCriteriaThe query structure. SeeJpaQueryStructurefor details- Specified by:
getQueryPartin interfaceJpaSelectCriteria<T>- Specified by:
getQueryPartin interfaceSqmSelectQuery<T>
-
setQueryPart
-
getRoots
- Specified by:
getRootsin interfaceAbstractQuery<T>
-
getRootList
-
getRoot
-
getRoot
-
from
- Specified by:
fromin interfaceAbstractQuery<T>- Specified by:
fromin interfaceJpaSelectCriteria<T>
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given subquery, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<T>- Parameters:
subquery- the subquery- Returns:
- query root corresponding to the given subquery
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given cte, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<T>- Parameters:
cte- the cte criteria- Returns:
- query root corresponding to the given cte
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given set-returning function, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<T>- Parameters:
function- the set-returning function- Returns:
- query root corresponding to the given function
-
from
- Specified by:
fromin interfaceAbstractQuery<T>- Specified by:
fromin interfaceJpaSelectCriteria<T>
-
isDistinct
public boolean isDistinct()- Specified by:
isDistinctin interfaceAbstractQuery<T>
-
distinct
- Specified by:
distinctin interfaceAbstractQuery<T>- Specified by:
distinctin interfaceJpaSelectCriteria<T>- Specified by:
distinctin interfaceSqmSelectQuery<T>
-
getSelection
- Specified by:
getSelectionin interfaceAbstractQuery<T>- Specified by:
getSelectionin interfaceJpaSelectCriteria<T>
-
getRestriction
- Specified by:
getRestrictionin interfaceCommonAbstractCriteria- Specified by:
getRestrictionin interfaceJpaCriteriaBase- Specified by:
getRestrictionin interfaceJpaSelectCriteria<T>
-
where
- Specified by:
wherein interfaceAbstractQuery<T>- Specified by:
wherein interfaceJpaSelectCriteria<T>
-
where
- Specified by:
wherein interfaceAbstractQuery<T>- Specified by:
wherein interfaceJpaSelectCriteria<T>
-
where
- Specified by:
wherein interfaceAbstractQuery<T>
-
getGroupList
- Specified by:
getGroupListin interfaceAbstractQuery<T>
-
groupBy
- Specified by:
groupByin interfaceAbstractQuery<T>- Specified by:
groupByin interfaceJpaSelectCriteria<T>
-
groupBy
- Specified by:
groupByin interfaceAbstractQuery<T>- Specified by:
groupByin interfaceJpaSelectCriteria<T>
-
getGroupRestriction
- Specified by:
getGroupRestrictionin interfaceAbstractQuery<T>- Specified by:
getGroupRestrictionin interfaceJpaSelectCriteria<T>
-
having
- Specified by:
havingin interfaceAbstractQuery<T>- Specified by:
havingin interfaceJpaSelectCriteria<T>
-
having
- Specified by:
havingin interfaceAbstractQuery<T>- Specified by:
havingin interfaceJpaSelectCriteria<T>
-
having
- Specified by:
havingin interfaceAbstractQuery<T>
-
appendHqlString
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-
getResultSelection
-