Class SqmFunctionJoin<E>
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<L,R>
org.hibernate.query.sqm.tree.domain.AbstractSqmJoin<Object,E>
org.hibernate.query.sqm.tree.from.SqmFunctionJoin<E>
- All Implemented Interfaces:
Expression<E>
,FetchParent<Object,
,E> From<Object,
,E> Join<Object,
,E> Path<E>
,Selection<E>
,TupleElement<E>
,Serializable
,JpaCriteriaNode
,JpaExpression<E>
,JpaFetchParent<Object,
,E> JpaFrom<Object,
,E> JpaFunctionFrom<Object,
,E> JpaFunctionJoin<E>
,JpaJoin<Object,
,E> JpaPath<E>
,JpaSelection<E>
,JpaTupleElement<E>
,SemanticPathPart
,SqmPath<E>
,SqmExpression<E>
,SqmFrom<Object,
,E> SqmJoin<Object,
,E> SqmSelectableNode<E>
,SqmExpressibleAccessor<E>
,SqmNode
,SqmTypedNode<E>
,SqmVisitableNode
@Incubating
public class SqmFunctionJoin<E>
extends AbstractSqmJoin<Object,E>
implements JpaFunctionJoin<E>
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSqmFunctionJoin
(SqmSetReturningFunction<E> function, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<Object> sqmRoot) SqmFunctionJoin
(NavigablePath navigablePath, SqmSetReturningFunction<E> function, boolean lateral, SqmPathSource<E> pathSource, String alias, SqmJoinType joinType, SqmRoot<Object> sqmRoot) -
Method Summary
Modifier and TypeMethodDescription<X> X
accept
(SemanticQueryWalker<X> walker) Accept the walker per visitationcopy
(SqmCopyContext context) SqmRoot<?>
findRoot()
PersistentAttribute<? super Object,
?> The function for this from node.getLhs()
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinSqmRoot<?>
getRoot()
index()
The expression referring to an iteration variable, indexing the rows produced by the function.boolean
When applicable, whether this join should be included in an implicit select clauseboolean
Specifies whether the function arguments can refer to previous from node aliases.on
(Expression<Boolean> restriction) on
(JpaExpression<Boolean> restriction) on
(JpaPredicate... restrictions) <S extends E>
SqmTreatedJoin<Object,E, S> Support for JPA's explicit (TREAT) down-casting.<S extends E>
SqmTreatedJoin<Object,E, S> <S extends E>
SqmTreatedJoin<Object,E, S> <S extends E>
SqmTreatedJoin<Object,E, S> treatAs
(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.<S extends E>
SqmTreatedJoin<Object,E, S> treatAs
(EntityDomainType<S> treatTarget, String alias) <S extends E>
SqmTreatedJoin<Object,E, S> treatAs
(EntityDomainType<S> treatTarget, String alias, boolean fetched) Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
applyRestriction, copyTo, getJoinPredicate, getOn, getSqmJoinType, join, join, setJoinPredicate
Methods 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, hasImplicitlySelectableJoin, 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, 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, visitSqmJoins
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmPath
copyTo, get, get, get, get, get, getExpressible, getModel, getNavigablePath, getNavigablePathCopy, getNodeType, getReferencedPathSource, getResolvedModel, getReusablePath, getReusablePaths, getTreatedPath, registerReusablePath, resolvePath, resolvePath, toString, type, visitReusablePaths
Methods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualTo
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
getSelectionItems, isCompoundSelection
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface jakarta.persistence.criteria.From
getJoins, isCorrelated
Methods inherited from interface org.hibernate.query.criteria.JpaFetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetches
Methods inherited from interface org.hibernate.query.criteria.JpaFrom
join, join, join, join, join, join, join, join, joinArray, joinArray, joinArray, joinArray, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinLateral, joinLateral, joinLateral
Methods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPath
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItems
Methods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnum
Methods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelection
Methods 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, notEqualTo, notEqualTo, visitSubSelectableNodes
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmFrom
addSqmJoin, getCorrelationParent, getReferencedPathSource, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, hasTreats, join, visitSqmJoins
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
crossJoin, crossJoin, 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
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, get, get, get, get, get, getExplicitAlias, getJavaTypeDescriptor, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePaths
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaType
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
SqmFunctionJoin
public SqmFunctionJoin(SqmSetReturningFunction<E> function, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<Object> sqmRoot)
-
-
Method Details
-
isImplicitlySelectable
public boolean isImplicitlySelectable()Description copied from interface:SqmJoin
When applicable, whether this join should be included in an implicit select clause- Specified by:
isImplicitlySelectable
in interfaceSqmJoin<Object,
E>
-
copy
- Specified by:
copy
in interfaceSqmExpression<E>
- Specified by:
copy
in interfaceSqmFrom<Object,
E> - Specified by:
copy
in interfaceSqmJoin<Object,
E> - Specified by:
copy
in interfaceSqmNode
- Specified by:
copy
in interfaceSqmPath<E>
- Specified by:
copy
in interfaceSqmSelectableNode<E>
- Specified by:
copy
in interfaceSqmTypedNode<E>
-
getRoot
-
findRoot
-
getFunction
Description copied from interface:JpaFunctionFrom
The function for this from node.- Specified by:
getFunction
in interfaceJpaFunctionFrom<Object,
E>
-
index
Description copied from interface:JpaFunctionFrom
The expression referring to an iteration variable, indexing the rows produced by the function. This is the equivalent of the SQLwith ordinality
clause.- Specified by:
index
in interfaceJpaFunctionFrom<Object,
E>
-
isLateral
public boolean isLateral()Description copied from interface:JpaFunctionJoin
Specifies whether the function arguments can refer to previous from node aliases. Normally, functions 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:
isLateral
in interfaceJpaFunctionJoin<E>
-
getLhs
Description copied from interface:SqmPath
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
on
-
on
-
on
-
on
-
accept
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
createCorrelation
- Specified by:
createCorrelation
in classAbstractSqmFrom<Object,
E>
-
treatAs
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.- Specified by:
treatAs
in interfaceJpaFrom<Object,
E> - Specified by:
treatAs
in interfaceJpaJoin<Object,
E> - Specified by:
treatAs
in interfaceJpaPath<E>
- Specified by:
treatAs
in interfaceSqmFrom<Object,
E> - Specified by:
treatAs
in interfaceSqmJoin<Object,
E> - Specified by:
treatAs
in interfaceSqmPath<E>
- Overrides:
treatAs
in classAbstractSqmJoin<Object,
E>
-
treatAs
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.- Specified by:
treatAs
in interfaceJpaFrom<Object,
E> - Specified by:
treatAs
in interfaceJpaJoin<Object,
E> - Specified by:
treatAs
in interfaceJpaPath<E>
- Specified by:
treatAs
in interfaceSqmFrom<Object,
E> - Specified by:
treatAs
in interfaceSqmJoin<Object,
E> - Specified by:
treatAs
in interfaceSqmPath<E>
- Overrides:
treatAs
in classAbstractSqmJoin<Object,
E>
-
treatAs
-
treatAs
public <S extends E> SqmTreatedJoin<Object,E, treatAsS> (EntityDomainType<S> treatTarget, String alias) -
treatAs
-
treatAs
public <S extends E> SqmTreatedJoin<Object,E, treatAsS> (EntityDomainType<S> treatTarget, String alias, boolean fetched) -
getAttribute
- Specified by:
getAttribute
in interfaceJoin<Object,
E> - Specified by:
getAttribute
in interfaceJpaJoin<Object,
E>
-
getParent
-
getJoinType
- Specified by:
getJoinType
in interfaceJoin<Object,
E> - Overrides:
getJoinType
in classAbstractSqmJoin<Object,
E>
-