Class AbstractSqmJoin<L,R>
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<L,R>
- All Implemented Interfaces:
Expression<R>
,FetchParent<L,
,R> From<L,
,R> Join<L,
,R> Path<R>
,Selection<R>
,TupleElement<R>
,Serializable
,JpaCriteriaNode
,JpaExpression<R>
,JpaFetchParent<L,
,R> JpaFrom<L,
,R> JpaJoin<L,
,R> JpaPath<R>
,JpaSelection<R>
,JpaTupleElement<R>
,SemanticPathPart
,SqmPath<R>
,SqmExpression<R>
,SqmFrom<L,
,R> SqmJoin<L,
,R> SqmSelectableNode<R>
,SqmExpressibleAccessor<R>
,SqmNode
,SqmTypedNode<R>
,SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmAttributeJoin
,SqmCteJoin
,SqmDerivedJoin
,SqmEntityJoin
,SqmFunctionJoin
,SqmPluralPartJoin
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionAbstractSqmJoin
(NavigablePath navigablePath, SqmPathSource<R> referencedNavigable, SqmFrom<?, L> lhs, String alias, SqmJoinType joinType, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyRestriction
(SqmPredicate restriction) protected void
copyTo
(AbstractSqmJoin<L, R> target, SqmCopyContext context) Obtain the join predicategetLhs()
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joingetOn()
The type of join - inner, cross, etc<X> SqmEntityJoin<R,
X> <X> SqmEntityJoin<R,
X> join
(Class<X> targetEntityClass, SqmJoinType joinType) on
(Expression<Boolean> restriction) on
(JpaExpression<Boolean> restriction) on
(JpaPredicate... restrictions) void
setJoinPredicate
(SqmPredicate predicate) Inject the join predicate<S extends R>
SqmTreatedJoin<L,R, S> Support for JPA's explicit (TREAT) down-casting.abstract <S extends R>
SqmTreatedJoin<L,R, S> abstract <S extends R>
SqmTreatedJoin<L,R, S> <S extends R>
SqmTreatedJoin<L,R, S> treatAs
(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.abstract <S extends R>
SqmTreatedJoin<L,R, S> treatAs
(EntityDomainType<S> treatTarget, String alias) abstract <S extends R>
SqmTreatedJoin<L,R, S> treatAs
(EntityDomainType<S> treatTarget, String alias, boolean fetched) Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmFrom
addSqmJoin, addTreat, alias, appendHqlString, copyTo, createCorrelation, 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.JpaJoin
getAttribute
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
copy, crossJoin, crossJoin, isImplicitlySelectable, 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, findRoot, 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
accept, appendHqlString, toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
Method Details
-
getSqmJoinType
Description copied from interface:SqmJoin
The type of join - inner, cross, etc- Specified by:
getSqmJoinType
in interfaceSqmJoin<L,
R>
-
getJoinPredicate
Description copied from interface:SqmJoin
Obtain the join predicate- Specified by:
getJoinPredicate
in interfaceSqmJoin<L,
R> - Returns:
- The join predicate
-
setJoinPredicate
Description copied from interface:SqmJoin
Inject the join predicate- Specified by:
setJoinPredicate
in interfaceSqmJoin<L,
R> - Parameters:
predicate
- The join predicate
-
applyRestriction
-
copyTo
-
treatAs
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.- Specified by:
treatAs
in interfaceJpaFrom<L,
R> - Specified by:
treatAs
in interfaceJpaJoin<L,
R> - Specified by:
treatAs
in interfaceJpaPath<L>
- Specified by:
treatAs
in interfaceSqmFrom<L,
R> - Specified by:
treatAs
in interfaceSqmJoin<L,
R> - Specified by:
treatAs
in interfaceSqmPath<L>
- Overrides:
treatAs
in classAbstractSqmFrom<L,
R>
-
treatAs
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.- Specified by:
treatAs
in interfaceJpaFrom<L,
R> - Specified by:
treatAs
in interfaceJpaJoin<L,
R> - Specified by:
treatAs
in interfaceJpaPath<L>
- Specified by:
treatAs
in interfaceSqmFrom<L,
R> - Specified by:
treatAs
in interfaceSqmJoin<L,
R> - Specified by:
treatAs
in interfaceSqmPath<L>
- Overrides:
treatAs
in classAbstractSqmFrom<L,
R>
-
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, String alias) -
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, String alias, boolean fetched) -
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 -
getParent
-
getJoinType
- Specified by:
getJoinType
in interfaceJoin<L,
R>
-
getOn
-
on
-
on
-
on
-
on
-
join
-
join
-