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.AbstractSqmAttributeJoin<O,T>
-
- All Implemented Interfaces:
jakarta.persistence.criteria.Expression<T>
,jakarta.persistence.criteria.Fetch<O,T>
,jakarta.persistence.criteria.FetchParent<O,T>
,jakarta.persistence.criteria.From<O,T>
,jakarta.persistence.criteria.Join<O,T>
,jakarta.persistence.criteria.Path<T>
,jakarta.persistence.criteria.Selection<T>
,jakarta.persistence.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 AbstractSqmJoin<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 visitationvoid
applyRestriction(SqmPredicate restriction)
protected void
copyTo(AbstractSqmAttributeJoin<O,T> target, SqmCopyContext context)
PersistentAttribute<? super O,?>
getAttribute()
SqmPredicate
getJoinPredicate()
Obtain the join predicatejakarta.persistence.criteria.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.jakarta.persistence.criteria.Predicate
getOn()
SqmFrom<?,O>
getParent()
boolean
isFetched()
SqmAttributeJoin<O,T>
on(jakarta.persistence.criteria.Expression<Boolean> restriction)
SqmAttributeJoin<O,T>
on(jakarta.persistence.criteria.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.void
setJoinPredicate(SqmPredicate predicate)
Inject the join predicate-
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, alias, appendHqlString, copyTo, createCorrelation, fetch, fetch, fetch, fetch, fetch, fetch, findTreat, getCorrelationParent, getExplicitAlias, getFetches, getJoins, getParentPath, getSqmJoins, getSqmTreats, hasJoins, hasTreats, isCorrelated, 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, resolvePathPart, setExplicitAlias, visitSqmJoins
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmPath
copyTo, get, get, get, get, getModel, getNavigablePath, getNodeType, getReferencedPathSource, 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, 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 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, joinLateral, joinLateral
-
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
-
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmAttributeJoin
getJavaTypeDescriptor, getReferencedPathSource, makeCopy, treatAs, treatAs
-
Methods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, castAs, 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, treatAs, treatAs, 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, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePaths
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlString
-
-
-
-
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
-
copyTo
protected void copyTo(AbstractSqmAttributeJoin<O,T> target, SqmCopyContext context)
-
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>
-
getJoinPredicate
public SqmPredicate getJoinPredicate()
Description copied from interface:SqmQualifiedJoin
Obtain the join predicate- Specified by:
getJoinPredicate
in interfaceSqmAttributeJoin<O,T>
- Specified by:
getJoinPredicate
in interfaceSqmQualifiedJoin<O,T>
- Returns:
- The join predicate
-
setJoinPredicate
public void setJoinPredicate(SqmPredicate predicate)
Description copied from interface:SqmQualifiedJoin
Inject the join predicate- Specified by:
setJoinPredicate
in interfaceSqmAttributeJoin<O,T>
- Specified by:
setJoinPredicate
in interfaceSqmQualifiedJoin<O,T>
- Parameters:
predicate
- The join predicate
-
applyRestriction
public void applyRestriction(SqmPredicate restriction)
-
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()
-
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(jakarta.persistence.criteria.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(jakarta.persistence.criteria.Predicate... restrictions)
-
getOn
public jakarta.persistence.criteria.Predicate getOn()
-
-