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> 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) inthashCode()having(BooleanExpression... restrictions) having(Expression<Boolean> booleanExpression) having(List<? extends Expression<Boolean>> restrictions) booleanisCompatible(Object object) booleanvoidsetQueryPart(SqmQueryPart<T> sqmQueryPart) where(BooleanExpression... restrictions) where(Expression<Boolean> restriction) where(List<? extends Expression<Boolean>> restrictions) <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
@Nonnull public <X> JpaCteCriteria<X> withRecursiveUnionAll(@Nonnull AbstractQuery<X> baseCriteria, @Nonnull 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
@Nonnull public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(@Nonnull AbstractQuery<X> baseCriteria, @Nonnull 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
@Nonnull public <X> JpaCteCriteria<X> with(@Nonnull String name, @Nonnull AbstractQuery<X> criteria) Description copied from interface:JpaCteContainerLikeJpaCteContainer.with(AbstractQuery)but assigns an explicit CTE name.- Specified by:
within interfaceJpaCteContainer
-
withRecursiveUnionAll
@Nonnull public <X> JpaCteCriteria<X> withRecursiveUnionAll(@Nonnull String name, @Nonnull AbstractQuery<X> baseCriteria, @Nonnull 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
@Nonnull public <X> JpaCteCriteria<X> withRecursiveUnionDistinct(@Nonnull String name, @Nonnull AbstractQuery<X> baseCriteria, @Nonnull 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
-
getRootList
- Specified by:
getRootListin interfaceAbstractQuery<T>- See Also:
-
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
@Nonnull public JpaSelectCriteria<T> where(@Nonnull List<? extends Expression<Boolean>> restrictions) - Specified by:
wherein interfaceAbstractQuery<T>- Specified by:
wherein interfaceJpaSelectCriteria<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
@Nonnull public JpaSelectCriteria<T> having(@Nonnull List<? extends Expression<Boolean>> restrictions) - Specified by:
havingin interfaceAbstractQuery<T>- Specified by:
havingin interfaceJpaSelectCriteria<T>
-
appendHqlString
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-
getResultSelection
-