Class SqmCteJoin<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<T>
org.hibernate.query.sqm.tree.domain.AbstractSqmPath<T>
org.hibernate.query.sqm.tree.domain.AbstractSqmFrom<T,T>
org.hibernate.query.sqm.tree.domain.AbstractSqmJoin<T,T>
org.hibernate.query.sqm.tree.from.SqmCteJoin<T>
- All Implemented Interfaces:
Expression<T>, FetchParent<T,T>, From<T, T>, Join<T, T>, Path<T>, Selection<T>, TupleElement<T>, Serializable, JpaCriteriaNode, JpaExpression<T>, JpaFetchParent<T, T>, JpaFrom<T, T>, JpaJoin<T, T>, JpaPath<T>, JpaSelection<T>, JpaTupleElement<T>, SemanticPathPart, SqmPath<T>, SqmSingularValuedJoin<T, T>, SqmExpression<T>, SqmFrom<T, T>, SqmJoin<T, T>, SqmSelectableNode<T>, SqmCacheable, SqmExpressibleAccessor<T>, SqmNode, SqmTypedNode<T>, SqmVisitableNode
- Direct Known Subclasses:
SqmCorrelatedCteJoin
@Incubating
public class SqmCteJoin<T>
extends AbstractSqmJoin<T,T>
implements SqmSingularValuedJoin<T,T>
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionSqmCteJoin(SqmCteStatement<T> cte, @Nullable String alias, SqmJoinType joinType, SqmRoot<T> sqmRoot) protectedSqmCteJoin(NavigablePath navigablePath, SqmCteStatement<T> cte, SqmPathSource<T> pathSource, @Nullable String alias, SqmJoinType joinType, SqmRoot<T> sqmRoot) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationcopy(SqmCopyContext context) booleandeepEquals(SqmFrom<?, ?> object) SqmRoot<?> findRoot()@Nullable PersistentAttribute<? super T, ?> getCte()getLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinSqmRoot<?> getRoot()booleanisDeepCompatible(SqmFrom<?, ?> object) booleanWhen applicable, whether this join should be included in an implicit select clause<S extends T>
SqmTreatedJoin<T, T, S> <S extends T>
SqmTreatedJoin<T, T, S> <S extends T>
SqmTreatedJoin<T, T, S> treatAs(EntityDomainType<S> treatTarget, @Nullable String alias) <S extends T>
SqmTreatedJoin<T, T, S> treatAs(EntityDomainType<S> treatTarget, @Nullable String alias, boolean fetched) Methods inherited from class AbstractSqmJoin
applyRestriction, copyTo, getJoinPredicate, getOn, getSqmJoinType, join, join, setJoinPredicate, treatAs, treatAsMethods inherited from class AbstractSqmFrom
addSqmJoin, addTreat, alias, appendHqlString, copyTo, crossJoin, crossJoin, fetch, fetch, fetch, fetch, fetch, fetch, findTreat, getCorrelationParent, getExplicitAlias, getFetches, getJoins, getNumberOfJoins, getParentPath, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, id, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, joinArray, joinArray, joinArray, joinArray, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinCollection, joinCollection, joinLateral, joinLateral, joinLateral, joinLateral, joinList, joinList, joinMap, joinMap, joinSet, joinSet, removeLeftFetchJoins, resolvePathPart, setExplicitAlias, visitSqmJoinsMethods inherited from class AbstractSqmPath
cacheHashCode, copyTo, equals, get, get, get, get, get, getExpressible, getJavaTypeDescriptor, getModel, getNavigablePath, getNavigablePathCopy, getNodeJavaType, getNodeType, getReferencedPathSource, getResolvedModel, getReusablePath, getReusablePaths, getTreatedPath, hashCode, isCompatible, registerReusablePath, resolvePath, resolvePath, toString, type, visitReusablePathsMethods inherited from class AbstractSqmExpression
applyInferableType, as, cast, equalTo, equalTo, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualToMethods inherited from class AbstractJpaSelection
getSelectionItems, isCompoundSelectionMethods inherited from class AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from interface From
getJoins, isCorrelatedMethods inherited from interface JpaFetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetchesMethods inherited from interface JpaFrom
id, join, join, join, join, join, join, join, join, joinArray, joinArray, joinArray, joinArray, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinLateral, joinLateral, joinLateralMethods inherited from interface JpaPath
getParentPathMethods inherited from interface JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmCacheable
cacheHashCode, isCompatibleMethods inherited from interface SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodesMethods inherited from interface SqmFrom
addSqmJoin, getCorrelationParent, getNumberOfJoins, getReferencedPathSource, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, hasTreats, join, join, resolveAlias, visitSqmJoinsMethods inherited from interface SqmJoin
crossJoin, crossJoin, getJoinPredicate, getOn, getSqmJoinType, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinLateral, joinLateral, joinList, joinList, joinMap, joinMap, joinSet, joinSet, on, on, on, on, setJoinPredicate, treatAs, treatAsMethods inherited from interface SqmNode
asLoggableText, nodeBuilderMethods inherited from interface SqmPath
applyInferableType, get, get, get, get, get, getExplicitAlias, getJavaTypeDescriptor, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePathsMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface SqmVisitableNode
appendHqlString, toHqlStringMethods inherited from interface TupleElement
getAlias
-
Constructor Details
-
SqmCteJoin
public SqmCteJoin(SqmCteStatement<T> cte, @Nullable String alias, SqmJoinType joinType, SqmRoot<T> sqmRoot)
-
-
Method Details
-
isImplicitlySelectable
public boolean isImplicitlySelectable()Description copied from interface:SqmJoinWhen applicable, whether this join should be included in an implicit select clause- Specified by:
isImplicitlySelectablein interfaceSqmJoin<T,T>
-
copy
- Specified by:
copyin interfaceSqmExpression<T>- Specified by:
copyin interfaceSqmFrom<T,T> - Specified by:
copyin interfaceSqmJoin<T,T> - Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmPath<T>- Specified by:
copyin interfaceSqmSelectableNode<T>- Specified by:
copyin interfaceSqmTypedNode<T>
-
getRoot
-
findRoot
-
getCte
-
getLhs
Description copied from interface:SqmPathGet the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
createCorrelation
- Specified by:
createCorrelationin interfaceSqmSingularValuedJoin<T,T> - Specified by:
createCorrelationin classAbstractSqmFrom<T,T>
-
getAttribute
- Specified by:
getAttributein interfaceJoin<T,T> - Specified by:
getAttributein interfaceJpaJoin<T,T>
-
treatAs
-
treatAs
public <S extends T> SqmTreatedJoin<T,T, treatAsS> (EntityDomainType<S> treatTarget, @Nullable String alias) -
treatAs
-
treatAs
public <S extends T> SqmTreatedJoin<T,T, treatAsS> (EntityDomainType<S> treatTarget, @Nullable String alias, boolean fetched) -
getParent
-
getJoinType
- Specified by:
getJoinTypein interfaceJoin<T,T> - Overrides:
getJoinTypein classAbstractSqmJoin<T,T>
-
deepEquals
- Specified by:
deepEqualsin interfaceSqmFrom<T,T> - Overrides:
deepEqualsin classAbstractSqmJoin<T,T>
-
isDeepCompatible
- Specified by:
isDeepCompatiblein interfaceSqmFrom<T,T> - Overrides:
isDeepCompatiblein classAbstractSqmJoin<T,T>
-