Package org.hibernate.query.sqm
Interface SqmPathSource<J>
- All Superinterfaces:
Bindable<J>,BindableType<J>,SqmExpressible<J>,SqmExpressibleAccessor<J>
- All Known Subinterfaces:
BagPersistentAttribute<D,,E> CompositeSqmPathSource<J>,EmbeddableDomainType<J>,EmbeddedDomainType<J>,EntityDomainType<J>,ListPersistentAttribute<D,,E> MappedSuperclassDomainType<J>,MapPersistentAttribute<D,,K, V> PluralPersistentAttribute<D,,C, E> SetPersistentAttribute<D,,E> SingularPersistentAttribute<D,,J> TreatableDomainType<J>
- All Known Implementing Classes:
AbstractDiscriminatorSqmPathSource,AbstractPluralAttribute,AbstractSqmPathSource,AnonymousTupleSimpleSqmPathSource,AnonymousTupleSqmAssociationPathSource,AnonymousTupleSqmPathSource,AnonymousTupleType,AnyDiscriminatorSqmPathSource,AnyMappingSqmPathSource,BagAttributeImpl,BasicSqmPathSource,EmbeddableTypeImpl,EmbeddedDiscriminatorSqmPathSource,EmbeddedSqmPathSource,EntityDiscriminatorSqmPathSource,EntitySqmPathSource,EntityTypeImpl,ListAttributeImpl,MapAttributeImpl,MappedSuperclassSqmPathSource,MappedSuperclassTypeImpl,NonAggregatedCompositeSqmPathSource,SetAttributeImpl,SingularAttributeImpl,SingularAttributeImpl.Identifier,SingularAttributeImpl.Version,SqmCteTable,SqmPolymorphicRootDescriptor
Represents any part of the domain model which can be used to create a
SqmPath node.- Author:
- Steve Ebersole
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Bindable
Bindable.BindableType -
Method Summary
Modifier and TypeMethodDescriptioncreateSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource) Create an SQM path for this source relative to the given left hand sidefindSubPathSource(String name) Find aSqmPathSourceby name relative to this source.default SqmPathSource<?>findSubPathSource(String name, JpaMetamodelImplementor metamodel) Find aSqmPathSourceby name relative to this source.default SqmExpressible<J>default SqmPathSource<?>getIntermediatePathSource(SqmPathSource<?> pathSource) Returns the intermediateSqmPathSourcefor a path source previously acquired viafindSubPathSource(String).The name of this thing.The type of path this source creates.default DomainType<J>default SqmPathSource<?>getSubPathSource(String name) Find aSqmPathSourceby name relative to this source.default SqmPathSource<?>getSubPathSource(String name, JpaMetamodelImplementor metamodel) Find aSqmPathSourceby name relative to this source.default booleanIndicates if this path source is generically typedMethods inherited from interface jakarta.persistence.metamodel.Bindable
getBindableJavaType, getBindableTypeMethods inherited from interface org.hibernate.query.BindableType
getBindableJavaTypeMethods inherited from interface org.hibernate.query.sqm.SqmExpressible
getExpressibleJavaType, getRelationalJavaType, getTypeName, isInstance, resolveExpressibleMethods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaType
-
Method Details
-
getPathName
String getPathName()The name of this thing. -
getSqmPathType
DomainType<J> getSqmPathType()The type of path this source creates. -
findSubPathSource
Find aSqmPathSourceby name relative to this source.- Returns:
- null if the subPathSource is not found
- Throws:
IllegalStateException- to indicate that this source cannot be de-referenced
-
findSubPathSource
Find aSqmPathSourceby 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
Find aSqmPathSourceby name relative to this source.- Throws:
IllegalStateException- to indicate that this source cannot be de-referencedIllegalArgumentException- if the subPathSource is not found
-
getSubPathSource
Find aSqmPathSourceby name relative to this source.- Throws:
IllegalStateException- to indicate that this source cannot be de-referencedIllegalArgumentException- if the subPathSource is not found
-
getIntermediatePathSource
Returns the intermediateSqmPathSourcefor a path source previously acquired viafindSubPathSource(String). -
createSqmPath
Create an SQM path for this source relative to the given left hand side -
getExpressible
- Specified by:
getExpressiblein interfaceSqmExpressibleAccessor<J>
-
getSqmType
- Specified by:
getSqmTypein interfaceSqmExpressible<J>
-
isGeneric
default boolean isGeneric()Indicates if this path source is generically typed
-