Class AbstractSqmAttributeJoin<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>
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
ConstructorsModifierConstructorDescriptionprotected
AbstractSqmAttributeJoin
(SqmFrom<?, L> lhs, NavigablePath navigablePath, SqmPathSource<R> joinedNavigable, String alias, SqmJoinType joinType, boolean fetchJoin, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> X
accept
(SemanticQueryWalker<X> walker) Accept the walker per visitationvoid
PersistentAttribute<? 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.boolean
Is this a fetch join?boolean
Is 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, setJoinPredicate
Methods 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, 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.JpaFetch
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
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.from.SqmAttributeJoin
getJavaTypeDescriptor, getJoinPredicate, getReferencedPathSource, isImplicitlySelectable, on, on, setJoinPredicate
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, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, hasTreats, join, join, visitSqmJoins
Methods 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, 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, 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
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
Method Details
-
isImplicitJoin
public boolean isImplicitJoin()Description copied from interface:SqmAttributeJoin
Is this an implicit join inferred from a path expression?- Specified by:
isImplicitJoin
in interfaceSqmAttributeJoin<L,
R>
-
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 -
getNodeJavaType
Description copied from interface:SqmTypedNode
The Java type descriptor for this node.- Specified by:
getNodeJavaType
in interfaceSqmExpressibleAccessor<L>
- Specified by:
getNodeJavaType
in interfaceSqmTypedNode<L>
-
isFetched
public boolean isFetched()Description copied from interface:SqmAttributeJoin
Is this a fetch join?- Specified by:
isFetched
in interfaceSqmAttributeJoin<L,
R>
-
alias
- Specified by:
alias
in interfaceJpaSelection<L>
- Specified by:
alias
in interfaceSelection<L>
- Overrides:
alias
in classAbstractSqmFrom<L,
R>
-
clearFetched
public void clearFetched()- Specified by:
clearFetched
in interfaceSqmAttributeJoin<L,
R>
-
accept
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
getAttribute
- Specified by:
getAttribute
in interfaceFetch<L,
R> - Specified by:
getAttribute
in interfaceJoin<L,
R> - Specified by:
getAttribute
in interfaceJpaJoin<L,
R>
-
on
Description copied from interface:JpaFetch
Add a restriction to the fetch. -
on
Description copied from interface:JpaFetch
Add a restriction to the fetch. -
getParent
-
getJoinType
- Specified by:
getJoinType
in interfaceFetch<L,
R> - Specified by:
getJoinType
in interfaceJoin<L,
R> - Overrides:
getJoinType
in classAbstractSqmJoin<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 interfaceSqmAttributeJoin<L,
R> - Specified by:
treatAs
in interfaceSqmFrom<L,
R> - Specified by:
treatAs
in interfaceSqmJoin<L,
R> - Specified by:
treatAs
in interfaceSqmPath<L>
- Overrides:
treatAs
in classAbstractSqmJoin<L,
R>
-
treatAs
public abstract <S extends R> SqmTreatedAttributeJoin<L,R, treatAsS> (EntityDomainType<S> treatTarget) 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 interfaceSqmAttributeJoin<L,
R> - Specified by:
treatAs
in interfaceSqmFrom<L,
R> - Specified by:
treatAs
in interfaceSqmJoin<L,
R> - Specified by:
treatAs
in interfaceSqmPath<L>
- Overrides:
treatAs
in 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)
-