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 AttributeMappingasAttributeMapping()FetchgenerateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState)Generates a Fetch of this fetchableStringgetFetchableName()The name of the fetchableFetchOptionsgetMappedFetchOptions()The configured fetch timing and styledefault booleanincrementFetchDepth()Should this Fetchable affect the fetch depth? E.g., composites would generally not increment the fetch depth.default FetchresolveCircularFetch(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;
nullindicates 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:
asAttributeMappingin interfaceModelPart
-
-