Class AbstractSqmPath<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>
- All Implemented Interfaces:
Expression<T>,Path<T>,Selection<T>,TupleElement<T>,Serializable,JpaCriteriaNode,JpaExpression<T>,JpaPath<T>,JpaSelection<T>,JpaTupleElement<T>,SemanticPathPart,SqmPath<T>,SqmExpression<T>,SqmSelectableNode<T>,SqmExpressibleAccessor<T>,SqmNode,SqmTypedNode<T>,SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmFrom,AbstractSqmSimplePath,AbstractSqmSpecificPluralPartPath,AnyDiscriminatorSqmPath,EmbeddedDiscriminatorSqmPath,EntityDiscriminatorSqmPath,SqmFkExpression,SqmFunctionPath,SqmIndexedCollectionAccessPath
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSqmPath(NavigablePath navigablePath, SqmPathSource<T> referencedPathSource, SqmPath<?> lhs, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyTo(AbstractSqmPath<T> target, SqmCopyContext context) boolean<K,V, M extends Map<K, V>>
SqmExpression<M> get(MapAttribute<? super T, K, V> attribute) <E,C extends Collection<E>>
SqmExpression<C> get(PluralAttribute<? super T, C, E> attribute) <Y> SqmPath<Y> get(SingularAttribute<? super T, Y> jpaAttribute) <Y> SqmPath<Y> <Y> SqmPath<Y> Same asSqmPath.get(String), but ifincludeSubtypesis set totrueand this path is polymorphic, also try finding subtype attributes.Retrieve the explicit alias, if one.SqmPath<?> getLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joingetModel()Returns the NavigablePath.protected NavigablePathgetNavigablePathCopy(SqmPath<?> parent) Utility that checks if this path's parent navigable path is compatible with the specified SQM parent, and if not creates a copy of the navigable path with the correct parent.This node's type is its "referenced path source"The path source that this path refers to (and that most likely created it).Get this path's actual resolved model, i.e.SqmPath<?> getReusablePath(String name) Returns an immutable List of reusable pathsprotected <S extends T>
SqmTreatedPath<T, S> getTreatedPath(ManagedDomainType<S> treatTarget) inthashCode()voidregisterReusablePath(SqmPath<?> path) Register a reusable path relative to this pathprotected <X> SqmPath<X> resolvePath(String attributeName, SqmPathSource<X> pathSource) protected <X> SqmPath<X> resolvePath(PersistentAttribute<?, X> attribute) voidsetExplicitAlias(String explicitAlias) Set the explicit alias for this pathtoString()<S extends T>
SqmTreatedPath<T, S> Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedPath<T, S> <S extends T>
SqmTreatedPath<T, S> <S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget, String alias) <S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget, String alias, boolean fetch) SqmExpression<Class<? extends T>> type()voidvisitReusablePaths(Consumer<SqmPath<?>> consumer) Visit each reusable path relative to this pathMethods 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, notEqualToMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPathMethods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, 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.expression.SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodesMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilderMethods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, copy, findRoot, getJavaTypeDescriptor, resolveIndexedAccess, resolvePathPartMethods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLengthMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
accept, appendHqlString, toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
Method Details
-
copyTo
-
getNodeType
Description copied from interface:SqmPathThis node's type is its "referenced path source"- Specified by:
getNodeTypein interfaceSqmExpression<T>- Specified by:
getNodeTypein interfaceSqmPath<T>- Specified by:
getNodeTypein interfaceSqmTypedNode<T>- Overrides:
getNodeTypein classAbstractJpaTupleElement<T>
-
getReferencedPathSource
Description copied from interface:SqmPathThe path source that this path refers to (and that most likely created it).- Specified by:
getReferencedPathSourcein interfaceSqmPath<T>- See Also:
-
getLhs
Description copied from interface:SqmPathGet the left-hand side of this path - may be null, indicating a root, cross-join or entity-join -
getReusablePaths
Description copied from interface:SqmPathReturns an immutable List of reusable paths- Specified by:
getReusablePathsin interfaceSqmPath<T>
-
visitReusablePaths
Description copied from interface:SqmPathVisit each reusable path relative to this path- Specified by:
visitReusablePathsin interfaceSqmPath<T>
-
registerReusablePath
Description copied from interface:SqmPathRegister a reusable path relative to this path- Specified by:
registerReusablePathin interfaceSqmPath<T>
-
getReusablePath
- Specified by:
getReusablePathin interfaceSqmPath<T>
-
getExplicitAlias
Description copied from interface:SqmPathRetrieve the explicit alias, if one. May return null- Specified by:
getExplicitAliasin interfaceSqmPath<T>
-
setExplicitAlias
Description copied from interface:SqmPathSet the explicit alias for this path- Specified by:
setExplicitAliasin interfaceSqmPath<T>
-
getModel
-
getResolvedModel
Description copied from interface:SqmPathGet this path's actual resolved model, i.e. the concrete type for generic attributes.- Specified by:
getResolvedModelin interfaceSqmPath<T>
-
getExpressible
- Specified by:
getExpressiblein interfaceSqmExpressibleAccessor<T>- Specified by:
getExpressiblein interfaceSqmTypedNode<T>
-
type
-
get
-
get
Description copied from interface:SqmPathSame asSqmPath.get(String), but ifincludeSubtypesis set totrueand this path is polymorphic, also try finding subtype attributes. -
resolvePath
-
resolvePath
-
getTreatedPath
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
-
treatAs
-
treatAs
public <S extends T> SqmTreatedPath<T,S> treatAs(Class<S> treatJavaType, String alias, boolean fetch) -
treatAs
public <S extends T> SqmTreatedPath<T,S> treatAs(EntityDomainType<S> treatTarget, String alias, boolean fetch) -
get
-
get
-
get
-
equals
-
hashCode
public int hashCode() -
toString
-