Package org.hibernate.sql.results.graph
Interface Fetchable
-
- All Superinterfaces:
Bindable
,JdbcMappingContainer
,MappingModelExpressible
,ModelPart
- All Known Subinterfaces:
Association
,AttributeMapping
,BasicEntityIdentifierMapping
,BasicValuedModelPart
,CollectionIdentifierDescriptor
,CollectionPart
,DatabaseSnapshotContributor
,DiscriminatedAssociationModelPart
,EmbeddableValuedFetchable
,EmbeddableValuedModelPart
,EntityAssociationMapping
,EntityDiscriminatorMapping
,EntityValuedFetchable
,EntityVersionMapping
,NonAggregatedIdentifierMapping
,PluralAttributeMapping
,SingularAttributeMapping
- All Known Implementing Classes:
AbstractAttributeMapping
,AbstractCompositeIdentifierMapping
,AbstractDiscriminatorMapping
,AbstractSingularAttributeMapping
,AbstractStateArrayContributorMapping
,AnonymousTupleBasicEntityIdentifierMapping
,AnonymousTupleBasicValuedModelPart
,AnonymousTupleEmbeddableValuedModelPart
,AnonymousTupleEmbeddedEntityIdentifierMapping
,AnonymousTupleNonAggregatedEntityIdentifierMapping
,AnyDiscriminatorPart
,AnyKeyPart
,BasicAttributeMapping
,BasicEntityIdentifierMappingImpl
,BasicValuedCollectionPart
,CaseStatementDiscriminatorMappingImpl
,CircularBiDirectionalFetchImpl
,CircularFetchImpl
,CollectionIdentifierDescriptorImpl
,DiscriminatedAssociationAttributeMapping
,DiscriminatedCollectionPart
,EmbeddedAttributeMapping
,EmbeddedCollectionPart
,EmbeddedIdentifierMappingImpl
,EntityCollectionPart
,EntityVersionMappingImpl
,ExplicitColumnDiscriminatorMappingImpl
,InverseNonAggregatedIdentifierMapping
,NonAggregatedIdentifierMappingImpl
,PluralAttributeMappingImpl
,SimpleForeignKeyDescriptor
,ToOneAttributeMapping
,VirtualEmbeddedAttributeMapping
public interface Fetchable extends ModelPart
Parts of the domain model that can be fetched
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesConsumer
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart
ModelPart.JdbcValueConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default AttributeMapping
asAttributeMapping()
Fetch
generateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState)
Generates a Fetch of this fetchableString
getFetchableName()
The name of the fetchableFetchOptions
getMappedFetchOptions()
The configured fetch timing and styledefault boolean
incrementFetchDepth()
Should this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.default Fetch
resolveCircularFetch(NavigablePath fetchablePath, FetchParent fetchParent, FetchTiming fetchTiming, DomainResultCreationState creationState)
Check whether this Fetchable is considered a circular fetch.-
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
disassemble, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, getJdbcMappings, getJdbcTypeCount
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
forEachJdbcType
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart
applySqlSelections, applySqlSelections, areEqual, breakDownJdbcValues, createDomainResult, findContainingEntityMapping, forEachSelectable, forEachSelectable, getJavaType, getNavigableRole, getPartMappingType, getPartName
-
-
-
-
Method Detail
-
getFetchableName
String getFetchableName()
The name of the fetchable
-
getMappedFetchOptions
FetchOptions getMappedFetchOptions()
The configured fetch timing and style
-
resolveCircularFetch
default Fetch resolveCircularFetch(NavigablePath fetchablePath, FetchParent fetchParent, FetchTiming fetchTiming, DomainResultCreationState creationState)
Check whether this Fetchable is considered a circular fetch.- Parameters:
fetchablePath
- The overall path within the graph- Returns:
- The Fetch representing the circularity;
null
indicates the fetch is not circular
-
generateFetch
Fetch generateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState)
Generates a Fetch of this fetchable- Parameters:
fetchParent
- The parent of the Fetch we are generatingfetchablePath
- The overall path within the graphfetchTiming
- The requested fetch timing
-
incrementFetchDepth
default boolean incrementFetchDepth()
Should this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.- See Also:
AvailableSettings.MAX_FETCH_DEPTH
-
asAttributeMapping
default AttributeMapping asAttributeMapping()
- Specified by:
asAttributeMapping
in interfaceModelPart
-
-