Package org.hibernate.query.sqm
Interface SqmPathSource<J>
-
- All Superinterfaces:
jakarta.persistence.metamodel.Bindable<J>
,BindableType<J>
,SqmExpressible<J>
,SqmExpressibleAccessor<J>
- All Known Subinterfaces:
BagPersistentAttribute<D,E>
,CompositeSqmPathSource<J>
,EntityDomainType<J>
,ListPersistentAttribute<D,E>
,MappedSuperclassDomainType<J>
,MapPersistentAttribute<D,K,V>
,PluralPersistentAttribute<D,C,E>
,SetPersistentAttribute<D,E>
,SingularPersistentAttribute<D,J>
- All Known Implementing Classes:
AbstractPluralAttribute
,AbstractSqmPathSource
,AnonymousTupleSimpleSqmPathSource
,AnonymousTupleSqmAssociationPathSource
,AnonymousTupleSqmPathSource
,AnonymousTupleType
,AnyDiscriminatorSqmPathSource
,AnyMappingSqmPathSource
,BasicSqmPathSource
,DiscriminatorSqmPathSource
,EmbeddedSqmPathSource
,EntitySqmPathSource
,EntityTypeImpl
,MappedSuperclassSqmPathSource
,MappedSuperclassTypeImpl
,NonAggregatedCompositeSqmPathSource
,SetAttributeImpl
,SingularAttributeImpl
,SingularAttributeImpl.Identifier
,SingularAttributeImpl.Version
,SqmPolymorphicRootDescriptor
public interface SqmPathSource<J> extends SqmExpressible<J>, jakarta.persistence.metamodel.Bindable<J>, SqmExpressibleAccessor<J>
Represents parts of the application's domain model that can be used to createSqmPath
nodes.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description SqmPath<J>
createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource)
Create an SQM path for this source relative to the given left-hand sideSqmPathSource<?>
findSubPathSource(String name)
Find a SqmPathSource by name relative to this source.default SqmExpressible<J>
getExpressible()
default SqmPathSource<?>
getIntermediatePathSource(SqmPathSource<?> pathSource)
Returns the intermediate SqmPathSource for a path source previously acquired viafindSubPathSource(String)
.String
getPathName()
The name of this thing.DomainType<?>
getSqmPathType()
The type of SqmPaths this source creates.default SqmPathSource<?>
getSubPathSource(String name)
Find a SqmPathSource by name relative to this source.-
Methods inherited from interface jakarta.persistence.metamodel.Bindable
getBindableJavaType, getBindableType
-
Methods inherited from interface org.hibernate.query.BindableType
getBindableJavaType
-
Methods inherited from interface org.hibernate.query.sqm.SqmExpressible
getExpressibleJavaType, isInstance, resolveExpressible
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaType
-
-
-
-
Method Detail
-
getPathName
String getPathName()
The name of this thing. Mainly used in logging and when creating aNavigablePath
-
getSqmPathType
DomainType<?> getSqmPathType()
The type of SqmPaths this source creates. Corollary to JPA'sBindable.getBindableJavaType()
-
findSubPathSource
SqmPathSource<?> findSubPathSource(String name)
Find a SqmPathSource by name relative to this source. returns null if the subPathSource is not found- Throws:
IllegalStateException
- to indicate that this source cannot be de-referenced
-
getSubPathSource
default SqmPathSource<?> getSubPathSource(String name)
Find a SqmPathSource by name relative to this source.- Throws:
IllegalStateException
- to indicate that this source cannot be de-referencedIllegalArgumentException
- if the subPathSource is not found
-
getIntermediatePathSource
default SqmPathSource<?> getIntermediatePathSource(SqmPathSource<?> pathSource)
Returns the intermediate SqmPathSource for a path source previously acquired viafindSubPathSource(String)
.
-
createSqmPath
SqmPath<J> createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource)
Create an SQM path for this source relative to the given left-hand side
-
getExpressible
default SqmExpressible<J> getExpressible()
- Specified by:
getExpressible
in interfaceSqmExpressibleAccessor<J>
-
-