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.
- Author:
- Steve Ebersole
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractSqmAttributeJoin(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
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationAssigns an alias to the selection item.voidPersistentAttribute<? super O,?> Return the metamodel attribute corresponding to the fetch join.Return the join type used in the fetch join.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.Return the parent of the fetched item.booleanon(Expression<Boolean> restriction) Modify the join to restrict the result according to the specified ON condition and return the join object.Modify the join to restrict the result according to the specified ON condition and return the join object.on(JpaExpression<Boolean> restriction) Add a restriction to the fetch.on(JpaPredicate... restrictions) Add a restriction to the fetch.Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin
applyRestriction, copyTo, getJoinPredicate, getOn, setJoinPredicateMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
getSqmJoinTypeMethods 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, visitSqmJoinsMethods 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, visitReusablePathsMethods 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, nodeBuilderMethods 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, equals, finalize, getClass, hashCode, 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
crossJoin, crossJoin, join, join, join, join, join, join, join, join, join, joinLateral, joinLateralMethods inherited from interface org.hibernate.query.criteria.JpaJoinedFrom
getOnMethods 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, makeCopy, setJoinPredicate, treatAs, treatAs, treatAs, treatAs, treatAs, treatAsMethods 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, visitSubSelectableNodesMethods 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, visitSqmJoinsMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
copy, getSqmJoinType, join, joinMethods 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, getExplicitAlias, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, 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
-
AbstractSqmAttributeJoin
public AbstractSqmAttributeJoin(SqmFrom<?, O> lhs, SqmJoinable joinedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder)
-
-
Method Details
-
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<O>- Specified by:
getNodeJavaTypein interfaceSqmTypedNode<O>
-
isFetched
public boolean isFetched()- Specified by:
isFetchedin interfaceSqmAttributeJoin<O,T>
-
alias
Description copied from interface:SelectionAssigns an alias to the selection item. Once assigned, an alias cannot be changed or reassigned. Returns the same selection item.- Specified by:
aliasin interfaceJpaSelection<O>- Specified by:
aliasin interfaceSelection<O>- Overrides:
aliasin classAbstractSqmFrom<O,T> - Parameters:
name- alias- Returns:
- selection item
-
clearFetched
public void clearFetched()- Specified by:
clearFetchedin interfaceSqmAttributeJoin<O,T>
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
getAttribute
Description copied from interface:FetchReturn the metamodel attribute corresponding to the fetch join.- Specified by:
getAttributein interfaceFetch<O,T> - Specified by:
getAttributein interfaceJoin<O,T> - Specified by:
getAttributein interfaceJpaJoin<O,T> - Returns:
- metamodel attribute for the join
-
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
on
Description copied from interface:JoinModify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any. -
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
on
Description copied from interface:JoinModify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any. -
getParent
Description copied from interface:FetchReturn the parent of the fetched item. -
getJoinType
Description copied from interface:FetchReturn the join type used in the fetch join.- Specified by:
getJoinTypein interfaceFetch<O,T> - Specified by:
getJoinTypein interfaceJoin<O,T> - Returns:
- join type
-