Class AbstractSqmAttributeJoin<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>
org.hibernate.query.sqm.tree.domain.AbstractSqmAttributeJoin<L,R>
- All Implemented Interfaces:
Expression<R>,Fetch<L,,R> FetchParent<L,,R> From<L,,R> Join<L,,R> Path<R>,Selection<R>,TupleElement<R>,Serializable,JpaCriteriaNode,JpaExpression<R>,JpaFetch<L,,R> JpaFetchParent<L,,R> JpaFrom<L,,R> JpaJoin<L,,R> JpaPath<R>,JpaSelection<R>,JpaTupleElement<R>,SemanticPathPart,SqmPath<R>,SqmExpression<R>,SqmAttributeJoin<L,,R> SqmFrom<L,,R> SqmJoin<L,,R> SqmSelectableNode<R>,SqmExpressibleAccessor<R>,SqmNode,SqmTypedNode<R>,SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmPluralJoin,SqmSingularJoin
public abstract class AbstractSqmAttributeJoin<L,R>
extends AbstractSqmJoin<L,R>
implements SqmAttributeJoin<L,R>
Models a join based on a mapped attribute reference.
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSqmAttributeJoin(SqmFrom<?, L> lhs, NavigablePath navigablePath, SqmPathSource<R> joinedNavigable, String alias, SqmJoinType joinType, boolean fetchJoin, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationvoidbooleanPersistentAttribute<? super L, ?> getLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinThe Java type descriptor for this node.inthashCode()booleanIs this a fetch join?booleanIs this an implicit join inferred from a path expression?on(JpaExpression<Boolean> restriction) Add a restriction to the fetch.on(JpaPredicate... restrictions) Add a restriction to the fetch.abstract <S extends R>
SqmTreatedAttributeJoin<L, R, S> Support for JPA's explicit (TREAT) down-casting.abstract <S extends R>
SqmTreatedAttributeJoin<L, R, S> abstract <S extends R>
SqmTreatedAttributeJoin<L, R, S> abstract <S extends R>
SqmTreatedAttributeJoin<L, R, S> treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.abstract <S extends R>
SqmTreatedAttributeJoin<L, R, S> treatAs(EntityDomainType<S> treatTarget, String alias) abstract <S extends R>
SqmTreatedAttributeJoin<L, R, 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, on, on, setJoinPredicateMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmFrom
addSqmJoin, addTreat, 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 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, visitReusablePathsMethods 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, notEqualToMethods 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, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jakarta.persistence.criteria.From
getJoins, isCorrelatedMethods inherited from interface org.hibernate.query.criteria.JpaFetch
fetch, fetch, fetch, fetch, fetch, fetch, getFetchesMethods inherited from interface org.hibernate.query.criteria.JpaFrom
id, join, join, join, join, join, join, join, join, joinArray, joinArray, joinArray, joinArray, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinLateral, joinLateral, joinLateralMethods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPathMethods inherited from interface org.hibernate.query.criteria.JpaSelection
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.from.SqmAttributeJoin
getJavaTypeDescriptor, getJoinPredicate, getReferencedPathSource, isImplicitlySelectable, on, on, setJoinPredicateMethods 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, visitSubSelectableNodesMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmFrom
addSqmJoin, getCorrelationParent, getNumberOfJoins, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, hasTreats, join, join, resolveAlias, visitSqmJoinsMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
copy, crossJoin, crossJoin, 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, joinSetMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilderMethods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, findRoot, get, get, get, get, get, getExplicitAlias, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, 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
getExpressibleMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
Method Details
-
isImplicitJoin
public boolean isImplicitJoin()Description copied from interface:SqmAttributeJoinIs this an implicit join inferred from a path expression?- Specified by:
isImplicitJoinin interfaceSqmAttributeJoin<L,R>
-
getLhs
Description copied from interface:SqmPathGet the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
getNodeJavaType
Description copied from interface:SqmTypedNodeThe Java type descriptor for this node.- Specified by:
getNodeJavaTypein interfaceSqmExpressibleAccessor<L>- Specified by:
getNodeJavaTypein interfaceSqmTypedNode<L>
-
isFetched
public boolean isFetched()Description copied from interface:SqmAttributeJoinIs this a fetch join?- Specified by:
isFetchedin interfaceSqmAttributeJoin<L,R>
-
alias
- Specified by:
aliasin interfaceJpaSelection<L>- Specified by:
aliasin interfaceSelection<L>- Overrides:
aliasin classAbstractSqmFrom<L,R>
-
clearFetched
public void clearFetched()- Specified by:
clearFetchedin interfaceSqmAttributeJoin<L,R>
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
getAttribute
- Specified by:
getAttributein interfaceFetch<L,R> - Specified by:
getAttributein interfaceJoin<L,R> - Specified by:
getAttributein interfaceJpaJoin<L,R>
-
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
getParent
-
getJoinType
- Specified by:
getJoinTypein interfaceFetch<L,R> - Specified by:
getJoinTypein interfaceJoin<L,R> - Overrides:
getJoinTypein classAbstractSqmJoin<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 interfaceSqmAttributeJoin<L,R> - Specified by:
treatAsin interfaceSqmFrom<L,R> - Specified by:
treatAsin interfaceSqmJoin<L,R> - Specified by:
treatAsin interfaceSqmPath<L>- Overrides:
treatAsin classAbstractSqmJoin<L,R>
-
treatAs
public abstract <S extends R> SqmTreatedAttributeJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget) 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 interfaceSqmAttributeJoin<L,R> - Specified by:
treatAsin interfaceSqmFrom<L,R> - Specified by:
treatAsin interfaceSqmJoin<L,R> - Specified by:
treatAsin interfaceSqmPath<L>- Overrides:
treatAsin classAbstractSqmJoin<L,R>
-
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedAttributeJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, String alias) -
treatAs
-
treatAs
public abstract <S extends R> SqmTreatedAttributeJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget, String alias, boolean fetched) -
equals
- Overrides:
equalsin classAbstractSqmJoin<L,R>
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractSqmJoin<L,R>
-