Class SqmSelectStatement<T>
- java.lang.Object
-
- org.hibernate.query.sqm.tree.AbstractSqmNode
-
- org.hibernate.query.sqm.tree.select.AbstractSqmSelectQuery<T>
-
- org.hibernate.query.sqm.tree.select.SqmSelectStatement<T>
-
- All Implemented Interfaces:
AbstractQuery<T>,CommonAbstractCriteria,CriteriaQuery<T>,Serializable,JpaCriteriaBase,JpaCriteriaNode,JpaCriteriaQuery<T>,JpaCteContainer,JpaQueryableCriteria<T>,JpaSelectCriteria<T>,ParameterCollector,SqmCteContainer,SqmSelectQuery<T>,SqmNode,SqmQuery<T>,SqmStatement<T>,SqmVisitableNode
public class SqmSelectStatement<T> extends AbstractSqmSelectQuery<T> implements JpaCriteriaQuery<T>, SqmStatement<T>, ParameterCollector
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.query.sqm.tree.SqmStatement
SqmStatement.ParameterResolutions
-
-
Constructor Summary
Constructors Constructor Description SqmSelectStatement(Class<T> resultJavaType, NodeBuilder nodeBuilder)SqmSelectStatement(Class<T> resultJavaType, SqmQuerySource querySource, NodeBuilder nodeBuilder)SqmSelectStatement(NodeBuilder nodeBuilder)SqmSelectStatement(SqmQuerySource querySource, NodeBuilder nodeBuilder)SqmSelectStatement(SqmQueryPart<T> queryPart, Class<T> resultType, Map<String,SqmCteStatement<?>> cteStatements, SqmQuerySource querySource, NodeBuilder builder)SqmSelectStatement(SqmQueryPart<T> queryPart, Class<T> resultType, SqmQuerySource querySource, NodeBuilder builder)SqmSelectStatement(SqmSelectStatement<T> original)
-
Method Summary
-
Methods inherited from class org.hibernate.query.sqm.tree.select.AbstractSqmSelectQuery
appendHqlString, copyCteStatements, from, from, from, from, getCteCriteria, getCteCriterias, getCteStatement, getCteStatements, getGroupList, getGroupRestriction, getQueryPart, getRestriction, getResultSelection, getResultType, getRootList, getRoots, getSelection, isDistinct, setQueryPart, setResultType, with, with, withRecursiveUnionAll, withRecursiveUnionAll, withRecursiveUnionDistinct, withRecursiveUnionDistinct
-
Methods inherited from class org.hibernate.query.sqm.tree.AbstractSqmNode
nodeBuilder
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jakarta.persistence.criteria.AbstractQuery
getGroupList, getResultType, getRoots, isDistinct
-
Methods inherited from interface org.hibernate.query.criteria.JpaCriteriaQuery
from, from, getOrderList, getRootList
-
Methods inherited from interface org.hibernate.query.criteria.JpaCteContainer
getCteCriteria, getCteCriterias, with, with, withRecursiveUnionAll, withRecursiveUnionAll, withRecursiveUnionDistinct, withRecursiveUnionDistinct
-
Methods inherited from interface org.hibernate.query.criteria.JpaSelectCriteria
from, from, getGroupRestriction, getRestriction, getSelection
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlString
-
-
-
-
Constructor Detail
-
SqmSelectStatement
public SqmSelectStatement(NodeBuilder nodeBuilder)
-
SqmSelectStatement
public SqmSelectStatement(SqmQuerySource querySource, NodeBuilder nodeBuilder)
-
SqmSelectStatement
public SqmSelectStatement(Class<T> resultJavaType, SqmQuerySource querySource, NodeBuilder nodeBuilder)
-
SqmSelectStatement
public SqmSelectStatement(SqmQueryPart<T> queryPart, Class<T> resultType, SqmQuerySource querySource, NodeBuilder builder)
-
SqmSelectStatement
public SqmSelectStatement(SqmQueryPart<T> queryPart, Class<T> resultType, Map<String,SqmCteStatement<?>> cteStatements, SqmQuerySource querySource, NodeBuilder builder)
-
SqmSelectStatement
public SqmSelectStatement(Class<T> resultJavaType, NodeBuilder nodeBuilder)
- Implementation Note:
- This form is used from the criteria query API.
-
SqmSelectStatement
public SqmSelectStatement(SqmSelectStatement<T> original)
- Implementation Note:
- This form is used when transforming HQL to criteria. All it does is change the SqmQuerySource to CRITERIA in order to allow correct parameter handing.
-
-
Method Detail
-
copy
public SqmSelectStatement<T> copy(SqmCopyContext context)
-
validateResultType
public void validateResultType(Class<?> resultType)
-
getQuerySource
public SqmQuerySource getQuerySource()
- Specified by:
getQuerySourcein interfaceSqmStatement<T>
-
getQuerySpec
public SqmQuerySpec<T> getQuerySpec()
Description copied from interface:JpaSelectCriteriaThe query structure. SeeJpaQueryStructurefor details- Specified by:
getQuerySpecin interfaceJpaSelectCriteria<T>- Specified by:
getQuerySpecin interfaceSqmSelectQuery<T>- Overrides:
getQuerySpecin classAbstractSqmSelectQuery<T>
-
producesUniqueResults
public boolean producesUniqueResults()
-
containsCollectionFetches
public boolean containsCollectionFetches()
-
usesDistinct
public boolean usesDistinct()
-
getSqmParameters
public Set<SqmParameter<?>> getSqmParameters()
Description copied from interface:SqmStatementAccess to the (potentially still growing) collection of parameters for the statement.- Specified by:
getSqmParametersin interfaceSqmStatement<T>
-
resolveParameters
public SqmStatement.ParameterResolutions resolveParameters()
- Specified by:
resolveParametersin interfaceSqmStatement<T>
-
accept
public <X> X accept(SemanticQueryWalker<X> walker)
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
addParameter
public void addParameter(SqmParameter<?> parameter)
- Specified by:
addParameterin interfaceParameterCollector
-
distinct
public SqmSelectStatement<T> distinct(boolean distinct)
- Specified by:
distinctin interfaceAbstractQuery<T>- Specified by:
distinctin interfaceCriteriaQuery<T>- Specified by:
distinctin interfaceJpaCriteriaQuery<T>- Specified by:
distinctin interfaceJpaSelectCriteria<T>- Specified by:
distinctin interfaceSqmSelectQuery<T>- Overrides:
distinctin classAbstractSqmSelectQuery<T>
-
getParameters
public Set<ParameterExpression<?>> getParameters()
Description copied from interface:JpaCriteriaQuery- Specified by:
getParametersin interfaceCriteriaQuery<T>- Specified by:
getParametersin interfaceJpaCriteriaQuery<T>
-
select
public SqmSelectStatement<T> select(Selection<? extends T> selection)
- Specified by:
selectin interfaceCriteriaQuery<T>- Specified by:
selectin interfaceJpaCriteriaQuery<T>
-
multiselect
public SqmSelectStatement<T> multiselect(Selection<?>... selections)
- Specified by:
multiselectin interfaceCriteriaQuery<T>- Specified by:
multiselectin interfaceJpaCriteriaQuery<T>
-
multiselect
public SqmSelectStatement<T> multiselect(List<Selection<?>> selectionList)
- Specified by:
multiselectin interfaceCriteriaQuery<T>- Specified by:
multiselectin interfaceJpaCriteriaQuery<T>
-
orderBy
public SqmSelectStatement<T> orderBy(Order... orders)
- Specified by:
orderByin interfaceCriteriaQuery<T>- Specified by:
orderByin interfaceJpaCriteriaQuery<T>
-
orderBy
public SqmSelectStatement<T> orderBy(List<Order> orders)
- Specified by:
orderByin interfaceCriteriaQuery<T>- Specified by:
orderByin interfaceJpaCriteriaQuery<T>
-
subquery
public <U> SqmSubQuery<U> subquery(Class<U> type)
- Specified by:
subqueryin interfaceCommonAbstractCriteria- Specified by:
subqueryin interfaceJpaCriteriaBase
-
where
public SqmSelectStatement<T> where(Expression<Boolean> restriction)
- Specified by:
wherein interfaceAbstractQuery<T>- Specified by:
wherein interfaceCriteriaQuery<T>- Specified by:
wherein interfaceJpaCriteriaQuery<T>- Specified by:
wherein interfaceJpaSelectCriteria<T>- Overrides:
wherein classAbstractSqmSelectQuery<T>
-
where
public SqmSelectStatement<T> where(Predicate... restrictions)
- Specified by:
wherein interfaceAbstractQuery<T>- Specified by:
wherein interfaceCriteriaQuery<T>- Specified by:
wherein interfaceJpaCriteriaQuery<T>- Specified by:
wherein interfaceJpaSelectCriteria<T>- Overrides:
wherein classAbstractSqmSelectQuery<T>
-
groupBy
public SqmSelectStatement<T> groupBy(Expression<?>... expressions)
- Specified by:
groupByin interfaceAbstractQuery<T>- Specified by:
groupByin interfaceCriteriaQuery<T>- Specified by:
groupByin interfaceJpaCriteriaQuery<T>- Specified by:
groupByin interfaceJpaSelectCriteria<T>- Overrides:
groupByin classAbstractSqmSelectQuery<T>
-
groupBy
public SqmSelectStatement<T> groupBy(List<Expression<?>> grouping)
- Specified by:
groupByin interfaceAbstractQuery<T>- Specified by:
groupByin interfaceCriteriaQuery<T>- Specified by:
groupByin interfaceJpaCriteriaQuery<T>- Specified by:
groupByin interfaceJpaSelectCriteria<T>- Overrides:
groupByin classAbstractSqmSelectQuery<T>
-
having
public SqmSelectStatement<T> having(Expression<Boolean> booleanExpression)
- Specified by:
havingin interfaceAbstractQuery<T>- Specified by:
havingin interfaceCriteriaQuery<T>- Specified by:
havingin interfaceJpaCriteriaQuery<T>- Specified by:
havingin interfaceJpaSelectCriteria<T>- Overrides:
havingin classAbstractSqmSelectQuery<T>
-
having
public SqmSelectStatement<T> having(Predicate... predicates)
- Specified by:
havingin interfaceAbstractQuery<T>- Specified by:
havingin interfaceCriteriaQuery<T>- Specified by:
havingin interfaceJpaCriteriaQuery<T>- Specified by:
havingin interfaceJpaSelectCriteria<T>- Overrides:
havingin classAbstractSqmSelectQuery<T>
-
getOffset
public JpaExpression<Number> getOffset()
- Specified by:
getOffsetin interfaceJpaCriteriaQuery<T>
-
offset
public JpaCriteriaQuery<T> offset(JpaExpression<? extends Number> offset)
- Specified by:
offsetin interfaceJpaCriteriaQuery<T>
-
offset
public JpaCriteriaQuery<T> offset(Number offset)
- Specified by:
offsetin interfaceJpaCriteriaQuery<T>
-
getFetch
public JpaExpression<Number> getFetch()
- Specified by:
getFetchin interfaceJpaCriteriaQuery<T>
-
fetch
public JpaCriteriaQuery<T> fetch(JpaExpression<? extends Number> fetch)
- Specified by:
fetchin interfaceJpaCriteriaQuery<T>
-
fetch
public JpaCriteriaQuery<T> fetch(JpaExpression<? extends Number> fetch, FetchClauseType fetchClauseType)
- Specified by:
fetchin interfaceJpaCriteriaQuery<T>
-
fetch
public JpaCriteriaQuery<T> fetch(Number fetch)
- Specified by:
fetchin interfaceJpaCriteriaQuery<T>
-
fetch
public JpaCriteriaQuery<T> fetch(Number fetch, FetchClauseType fetchClauseType)
- Specified by:
fetchin interfaceJpaCriteriaQuery<T>
-
getFetchClauseType
public FetchClauseType getFetchClauseType()
- Specified by:
getFetchClauseTypein interfaceJpaCriteriaQuery<T>
-
createCountQuery
public SqmSelectStatement<Long> createCountQuery()
Description copied from interface:JpaCriteriaQueryA query that returns the number of results of this query.- Specified by:
createCountQueryin interfaceJpaCriteriaQuery<T>- See Also:
SelectionQuery.getResultCount()
-
-