Class AbstractSqmJoin<L,R>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<R>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<R>
org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<R>
org.hibernate.query.sqm.tree.domain.AbstractSqmPath<R>
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>, SqmCacheable, SqmExpressibleAccessor<R>, SqmNode, SqmTypedNode<R>, SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmAttributeJoin, SqmCteJoin, SqmDerivedJoin, SqmEntityJoin, SqmFunctionJoin, SqmPluralPartJoin
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractSqmJoin(NavigablePath navigablePath, SqmPathSource<R> referencedNavigable, SqmFrom<?, L> lhs, @Nullable String alias, SqmJoinType joinType, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyRestriction(SqmPredicate restriction) protected voidcopyTo(AbstractSqmJoin<L, R> target, SqmCopyContext context) booleandeepEquals(SqmFrom<?, ?> object) @Nullable SqmPredicateObtain the join predicategetLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-join@Nullable SqmPredicategetOn()The type of join - inner, cross, etcbooleanisDeepCompatible(SqmFrom<?, ?> object) <X> SqmEntityJoin<R, X> <X> SqmEntityJoin<R, X> join(Class<X> targetEntityClass, SqmJoinType joinType) voidsetJoinPredicate(@Nullable 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, @Nullable String alias) abstract <S extends R>
SqmTreatedJoin<L, R, S> treatAs(EntityDomainType<S> treatTarget, @Nullable String alias, boolean fetched) Methods inherited from class AbstractSqmFrom
addSqmJoin, addTreat, alias, appendHqlString, copyTo, createCorrelation, 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 JpaJoin
getAttributeMethods 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, resolveAlias, visitSqmJoinsMethods inherited from interface 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, on, on, on, onMethods inherited from interface SqmNode
asLoggableText, nodeBuilderMethods inherited from interface SqmPath
applyInferableType, findRoot, 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
accept, appendHqlString, toHqlStringMethods inherited from interface TupleElement
getAlias
-
Constructor Details
-
Method Details
-
getSqmJoinType
Description copied from interface:SqmJoinThe type of join - inner, cross, etc- Specified by:
getSqmJoinTypein interfaceSqmJoin<L,R>
-
getJoinPredicate
Description copied from interface:SqmJoinObtain the join predicate- Specified by:
getJoinPredicatein interfaceSqmJoin<L,R> - Returns:
- The join predicate
-
setJoinPredicate
Description copied from interface:SqmJoinInject the join predicate- Specified by:
setJoinPredicatein interfaceSqmJoin<L,R> - Parameters:
predicate- The join predicate
-
applyRestriction
-
copyTo
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting.- Specified by:
treatAsin interfaceJpaFrom<L,R> - Specified by:
treatAsin interfaceJpaJoin<L,R> - Specified by:
treatAsin interfaceJpaPath<L>- Specified by:
treatAsin interfaceSqmFrom<L,R> - Specified by:
treatAsin interfaceSqmJoin<L,R> - Specified by:
treatAsin interfaceSqmPath<L>- Overrides:
treatAsin classAbstractSqmFrom<L,R>
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting.- Specified by:
treatAsin interfaceJpaFrom<L,R> - Specified by:
treatAsin interfaceJpaJoin<L,R> - Specified by:
treatAsin interfaceJpaPath<L>- Specified by:
treatAsin interfaceSqmFrom<L,R> - Specified by:
treatAsin interfaceSqmJoin<L,R> - Specified by:
treatAsin interfaceSqmPath<L>- Overrides:
treatAsin classAbstractSqmFrom<L,R>
-
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, @Nullable String alias) -
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, @Nullable String alias, boolean fetched) -
getLhs
Description copied from interface:SqmPathGet the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
getParent
-
getJoinType
- Specified by:
getJoinTypein interfaceJoin<L,R>
-
getOn
-
join
-
join
-
deepEquals
- Specified by:
deepEqualsin interfaceSqmFrom<L,R> - Overrides:
deepEqualsin classAbstractSqmFrom<L,R>
-
isDeepCompatible
- Specified by:
isDeepCompatiblein interfaceSqmFrom<L,R> - Overrides:
isDeepCompatiblein classAbstractSqmFrom<L,R>
-