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
ConstructorsModifierConstructorDescriptionprotected
AbstractSqmPath
(NavigablePath navigablePath, SqmPathSource<T> referencedPathSource, SqmPath<?> lhs, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
copyTo
(AbstractSqmPath<T> target, SqmCopyContext context) <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 ifincludeSubtypes
is set totrue
and 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 NavigablePath
getNavigablePathCopy
(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) void
registerReusablePath
(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) void
setExplicitAlias
(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()
void
visitReusablePaths
(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, notEqualTo
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, 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.JpaPath
getParentPath
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, 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.expression.SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodes
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, copy, findRoot, getJavaTypeDescriptor, resolveAlias, resolveIndexedAccess, resolvePathPart
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getNodeJavaType
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
accept, appendHqlString, toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
Method Details
-
copyTo
-
getNodeType
Description copied from interface:SqmPath
This node's type is its "referenced path source"- Specified by:
getNodeType
in interfaceSqmExpression<T>
- Specified by:
getNodeType
in interfaceSqmPath<T>
- Specified by:
getNodeType
in interfaceSqmTypedNode<T>
- Overrides:
getNodeType
in classAbstractJpaTupleElement<T>
-
getReferencedPathSource
Description copied from interface:SqmPath
The path source that this path refers to (and that most likely created it).- Specified by:
getReferencedPathSource
in interfaceSqmPath<T>
- See Also:
-
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 -
getReusablePaths
Description copied from interface:SqmPath
Returns an immutable List of reusable paths- Specified by:
getReusablePaths
in interfaceSqmPath<T>
-
visitReusablePaths
Description copied from interface:SqmPath
Visit each reusable path relative to this path- Specified by:
visitReusablePaths
in interfaceSqmPath<T>
-
registerReusablePath
Description copied from interface:SqmPath
Register a reusable path relative to this path- Specified by:
registerReusablePath
in interfaceSqmPath<T>
-
getReusablePath
- Specified by:
getReusablePath
in interfaceSqmPath<T>
-
getExplicitAlias
Description copied from interface:SqmPath
Retrieve the explicit alias, if one. May return null- Specified by:
getExplicitAlias
in interfaceSqmPath<T>
-
setExplicitAlias
Description copied from interface:SqmPath
Set the explicit alias for this path- Specified by:
setExplicitAlias
in interfaceSqmPath<T>
-
getModel
-
getResolvedModel
Description copied from interface:SqmPath
Get this path's actual resolved model, i.e. the concrete type for generic attributes.- Specified by:
getResolvedModel
in interfaceSqmPath<T>
-
getExpressible
- Specified by:
getExpressible
in interfaceSqmExpressibleAccessor<T>
- Specified by:
getExpressible
in interfaceSqmTypedNode<T>
-
type
-
get
-
get
Description copied from interface:SqmPath
Same asSqmPath.get(String)
, but ifincludeSubtypes
is set totrue
and this path is polymorphic, also try finding subtype attributes. -
resolvePath
-
resolvePath
-
getTreatedPath
-
treatAs
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting. -
treatAs
Description copied from interface:JpaPath
Support 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
-
toString
-