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)protectedAbstractSqmAttributeJoin(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> Xaccept(SemanticQueryWalker<X> walker)Accept the walker per visitationvoidapplyRestriction(SqmPredicate restriction)protected voidcopyTo(AbstractSqmAttributeJoin<O,T> target, SqmCopyContext context)PersistentAttribute<? super O,?>getAttribute()SqmPredicategetJoinPredicate()Obtain the join predicatejakarta.persistence.criteria.JoinTypegetJoinType()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.PredicategetOn()SqmFrom<?,O>getParent()booleanisFetched()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.voidsetJoinPredicate(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:SqmPathGet 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:SqmTypedNodeThe Java type descriptor for this node.- Specified by:
getNodeJavaTypein interfaceSqmExpressibleAccessor<O>- Specified by:
getNodeJavaTypein interfaceSqmTypedNode<O>
-
isFetched
public boolean isFetched()
- Specified by:
isFetchedin interfaceSqmAttributeJoin<O,T>
-
getJoinPredicate
public SqmPredicate getJoinPredicate()
Description copied from interface:SqmQualifiedJoinObtain the join predicate- Specified by:
getJoinPredicatein interfaceSqmAttributeJoin<O,T>- Specified by:
getJoinPredicatein interfaceSqmQualifiedJoin<O,T>- Returns:
- The join predicate
-
setJoinPredicate
public void setJoinPredicate(SqmPredicate predicate)
Description copied from interface:SqmQualifiedJoinInject the join predicate- Specified by:
setJoinPredicatein interfaceSqmAttributeJoin<O,T>- Specified by:
setJoinPredicatein 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:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
getAttribute
public PersistentAttribute<? super O,?> getAttribute()
-
on
public SqmAttributeJoin<O,T> on(JpaExpression<Boolean> restriction)
Description copied from interface:JpaFetchAdd 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:JpaFetchAdd a restriction to the fetch.
-
on
public SqmAttributeJoin<O,T> on(jakarta.persistence.criteria.Predicate... restrictions)
-
getOn
public jakarta.persistence.criteria.Predicate getOn()
-
-