Class SqmDerivedJoin<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<O,T>
org.hibernate.query.sqm.tree.domain.AbstractSqmJoin<O,T>
org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin<T,T>
org.hibernate.query.sqm.tree.from.SqmDerivedJoin<T>
- All Implemented Interfaces:
Expression<T>,FetchParent<T,,T> From<T,,T> Path<T>,Selection<T>,TupleElement<T>,Serializable,JpaCriteriaNode,JpaDerivedFrom<T>,JpaDerivedJoin<T>,JpaExpression<T>,JpaFetchParent<T,,T> JpaFrom<T,,T> JpaJoinedFrom<T,,T> JpaPath<T>,JpaSelection<T>,JpaTupleElement<T>,SemanticPathPart,SqmPath<T>,SqmExpression<T>,SqmFrom<T,,T> SqmJoin<T,,T> SqmQualifiedJoin<T,,T> SqmSelectableNode<T>,SqmExpressibleAccessor<T>,SqmNode,SqmTypedNode<T>,SqmVisitableNode
@Incubating
public class SqmDerivedJoin<T>
extends AbstractSqmQualifiedJoin<T,T>
implements JpaDerivedJoin<T>
- Author:
- Christian Beikov
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionSqmDerivedJoin(SqmSubQuery<T> subQuery, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<?> sqmRoot) protectedSqmDerivedJoin(NavigablePath navigablePath, SqmSubQuery<T> subQuery, boolean lateral, SqmPathSource<T> pathSource, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationcopy(SqmCopyContext context) SqmRoot<?>findRoot()SqmPath<?>getLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinThe subquery part for this derived from node.SqmRoot<?>getRoot()booleanWhen applicable, whether this join should be included in an implicit select clausebooleanSpecifies whether the subquery part can access previous from node aliases.on(Expression<Boolean> restriction) on(JpaExpression<Boolean> restriction) on(JpaPredicate... restrictions) Support for JPA's explicit (TREAT) down-casting.treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.treatAs(EntityDomainType<S> treatTarget, String alias) Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin
applyRestriction, copyTo, getJoinPredicate, getOn, setJoinPredicateMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
getSqmJoinTypeMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmFrom
addSqmJoin, addTreat, alias, appendHqlString, copyTo, crossJoin, crossJoin, fetch, fetch, fetch, fetch, fetch, fetch, findTreat, getCorrelationParent, getExplicitAlias, getFetches, getJoins, getParentPath, getSqmJoins, getSqmTreats, hasJoins, isCorrelated, join, 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, removeLeftFetchJoins, resolvePathPart, setExplicitAlias, visitSqmJoinsMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmPath
copyTo, get, get, get, get, getExpressible, getModel, getNavigablePath, getNavigablePathCopy, getNodeType, getReferencedPathSource, getResolvedModel, getReusablePath, getReusablePaths, getTreatedPath, registerReusablePath, resolvePath, resolvePath, toString, type, visitReusablePathsMethods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilderMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
getSelectionItems, isCompoundSelectionMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jakarta.persistence.criteria.From
getJoins, isCorrelatedMethods inherited from interface org.hibernate.query.criteria.JpaFetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetchesMethods inherited from interface org.hibernate.query.criteria.JpaFrom
crossJoin, crossJoin, join, join, join, join, join, join, join, join, join, joinLateral, joinLateralMethods inherited from interface org.hibernate.query.criteria.JpaJoinedFrom
getOnMethods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPathMethods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnumMethods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelectionMethods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, visitSubSelectableNodesMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmFrom
addSqmJoin, getCorrelationParent, getReferencedPathSource, getSqmJoins, getSqmTreats, hasJoins, hasTreats, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet, visitSqmJoinsMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
getSqmJoinType, join, joinMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilderMethods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, get, get, get, get, getExplicitAlias, getJavaTypeDescriptor, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePathsMethods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLengthMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
SqmDerivedJoin
public SqmDerivedJoin(SqmSubQuery<T> subQuery, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<?> 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
-
getQueryPart
Description copied from interface:JpaDerivedFromThe subquery part for this derived from node.- Specified by:
getQueryPartin interfaceJpaDerivedFrom<T>
-
isLateral
public boolean isLateral()Description copied from interface:JpaDerivedJoinSpecifies whether the subquery part can access previous from node aliases. Normally, subqueries in the from clause are unable to access other from nodes, but when specifying them as lateral, they are allowed to do so. Refer to the SQL standard definition of LATERAL for more details.- Specified by:
isLateralin interfaceJpaDerivedJoin<T>
-
getLhs
Description copied from interface:SqmPathGet the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
on
- Specified by:
onin interfaceJpaDerivedJoin<T>- Specified by:
onin interfaceJpaJoinedFrom<T,T> - Overrides:
onin classAbstractSqmQualifiedJoin<T,T>
-
on
- Specified by:
onin interfaceJpaDerivedJoin<T>- Specified by:
onin interfaceJpaJoinedFrom<T,T> - Overrides:
onin classAbstractSqmQualifiedJoin<T,T>
-
on
- Specified by:
onin interfaceJpaDerivedJoin<T>- Specified by:
onin interfaceJpaJoinedFrom<T,T> - Overrides:
onin classAbstractSqmQualifiedJoin<T,T>
-
on
- Specified by:
onin interfaceJpaDerivedJoin<T>- Specified by:
onin interfaceJpaJoinedFrom<T,T> - Overrides:
onin classAbstractSqmQualifiedJoin<T,T>
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
createCorrelation
- Specified by:
createCorrelationin classAbstractSqmFrom<T,T>
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
-
treatAs
-