Class AbstractSqmAttributeJoin<O,T>
- 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<O,T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmJoin<O,T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin<O,T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmAttributeJoin<O,T>
-
- All Implemented Interfaces:
Expression<T>
,Fetch<O,T>
,FetchParent<O,T>
,From<O,T>
,Join<O,T>
,Path<T>
,Selection<T>
,TupleElement<T>
,Serializable
,JpaCriteriaNode
,JpaExpression<T>
,JpaFetch<O,T>
,JpaFetchParent<O,T>
,JpaFrom<O,T>
,JpaJoin<O,T>
,JpaJoinedFrom<O,T>
,JpaPath<T>
,JpaSelection<T>
,JpaTupleElement<T>
,SemanticPathPart
,SqmPath<T>
,SqmExpression<T>
,SqmAttributeJoin<O,T>
,SqmFrom<O,T>
,SqmJoin<O,T>
,SqmQualifiedJoin<O,T>
,SqmSelectableNode<T>
,SqmExpressibleAccessor<T>
,SqmNode
,SqmTypedNode<T>
,SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmPluralJoin
,SqmSingularJoin
public abstract class AbstractSqmAttributeJoin<O,T> extends AbstractSqmQualifiedJoin<O,T> implements SqmAttributeJoin<O,T>
Models a join based on a mapped attribute reference.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description AbstractSqmAttributeJoin(SqmFrom<?,O> lhs, SqmJoinable joinedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder)
protected
AbstractSqmAttributeJoin(SqmFrom<?,O> lhs, NavigablePath navigablePath, SqmJoinable joinedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <X> X
accept(SemanticQueryWalker<X> walker)
Accept the walker per visitationJpaSelection<T>
alias(String name)
void
clearFetched()
PersistentAttribute<? super O,?>
getAttribute()
JoinType
getJoinType()
SqmFrom<?,O>
getLhs()
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinJavaType<T>
getNodeJavaType()
The Java type descriptor for this node.SqmFrom<?,O>
getParent()
boolean
isFetched()
SqmAttributeJoin<O,T>
on(Expression<Boolean> restriction)
SqmAttributeJoin<O,T>
on(Predicate... restrictions)
SqmAttributeJoin<O,T>
on(JpaExpression<Boolean> restriction)
Add a restriction to the fetch.SqmAttributeJoin<O,T>
on(JpaPredicate... restrictions)
Add a restriction to the fetch.-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin
applyRestriction, copyTo, getJoinPredicate, getOn, setJoinPredicate
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
getSqmJoinType
-
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, 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, joinCollection, joinCollection, 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, 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, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder
-
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
crossJoin, crossJoin, join, join, join, join, join, join, join, join, join, joinLateral, joinLateral
-
Methods inherited from interface org.hibernate.query.criteria.JpaJoinedFrom
getOn
-
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, makeCopy, setJoinPredicate, treatAs, treatAs, treatAs, treatAs, treatAs, treatAs
-
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, visitSubSelectableNodes
-
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmFrom
addSqmJoin, getCorrelationParent, getSqmJoins, getSqmTreats, hasJoins, hasTreats, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet, visitSqmJoins
-
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
copy, getSqmJoinType, join, join
-
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, 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 Detail
-
AbstractSqmAttributeJoin
public AbstractSqmAttributeJoin(SqmFrom<?,O> lhs, SqmJoinable joinedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder)
-
AbstractSqmAttributeJoin
protected AbstractSqmAttributeJoin(SqmFrom<?,O> lhs, NavigablePath navigablePath, SqmJoinable joinedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder)
-
-
Method Detail
-
getLhs
public SqmFrom<?,O> 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
public JavaType<T> getNodeJavaType()
Description copied from interface:SqmTypedNode
The Java type descriptor for this node.- Specified by:
getNodeJavaType
in interfaceSqmExpressibleAccessor<O>
- Specified by:
getNodeJavaType
in interfaceSqmTypedNode<O>
-
isFetched
public boolean isFetched()
- Specified by:
isFetched
in interfaceSqmAttributeJoin<O,T>
-
alias
public JpaSelection<T> alias(String name)
- Specified by:
alias
in interfaceJpaSelection<O>
- Specified by:
alias
in interfaceSelection<O>
- Overrides:
alias
in classAbstractSqmFrom<O,T>
-
clearFetched
public void clearFetched()
- Specified by:
clearFetched
in interfaceSqmAttributeJoin<O,T>
-
accept
public <X> X accept(SemanticQueryWalker<X> walker)
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
getAttribute
public PersistentAttribute<? super O,?> getAttribute()
- Specified by:
getAttribute
in interfaceFetch<O,T>
- Specified by:
getAttribute
in interfaceJoin<O,T>
- Specified by:
getAttribute
in interfaceJpaJoin<O,T>
-
on
public SqmAttributeJoin<O,T> on(JpaExpression<Boolean> restriction)
Description copied from interface:JpaFetch
Add a restriction to the fetch.
-
on
public SqmAttributeJoin<O,T> on(Expression<Boolean> restriction)
-
on
public SqmAttributeJoin<O,T> on(JpaPredicate... restrictions)
Description copied from interface:JpaFetch
Add a restriction to the fetch.
-
on
public SqmAttributeJoin<O,T> on(Predicate... restrictions)
-
getJoinType
public JoinType getJoinType()
- Specified by:
getJoinType
in interfaceFetch<O,T>
- Specified by:
getJoinType
in interfaceJoin<O,T>
-
-