Package org.hibernate.metamodel.mapping
Interface ModelPart
-
- All Superinterfaces:
Bindable
,JdbcMappingContainer
,MappingModelExpressible
- All Known Subinterfaces:
AggregatedIdentifierMapping
,Association
,AttributeMapping
,BasicEntityIdentifierMapping
,BasicValuedModelPart
,CollectionIdentifierDescriptor
,CollectionPart
,CompositeIdentifierMapping
,DatabaseSnapshotContributor
,DiscriminatedAssociationModelPart
,EmbeddableMappingType
,EmbeddableValuedFetchable
,EmbeddableValuedModelPart
,EntityAssociationMapping
,EntityCollectionPart
,EntityDiscriminatorMapping
,EntityIdentifierMapping
,EntityMappingType
,EntityPersister
,EntityRowIdMapping
,EntityValuedFetchable
,EntityValuedModelPart
,EntityVersionMapping
,Fetchable
,FetchableContainer
,ForeignKeyDescriptor
,InFlightEntityMappingType
,Loadable
,Loadable
,Lockable
,ManagedMappingType
,ModelPartContainer
,NaturalIdMapping
,NonAggregatedIdentifierMapping
,NonAggregatedIdentifierMapping.IdentifierValueMapper
,OuterJoinLoadable
,PluralAttributeMapping
,PostInsertIdentityPersister
,Queryable
,RootTableGroupProducer
,SingleAttributeIdentifierMapping
,SingularAttributeMapping
,SQLLoadable
,TableGroupJoinProducer
,TableGroupProducer
,UniqueKeyLoadable
,ValuedModelPart
,VirtualModelPart
- All Known Implementing Classes:
AbstractAttributeMapping
,AbstractCompositeIdentifierMapping
,AbstractDiscriminatorMapping
,AbstractEmbeddableMapping
,AbstractEntityCollectionPart
,AbstractEntityPersister
,AbstractNaturalIdMapping
,AbstractSingularAttributeMapping
,AbstractStateArrayContributorMapping
,AnonymousTupleBasicEntityIdentifierMapping
,AnonymousTupleBasicValuedModelPart
,AnonymousTupleEmbeddableValuedModelPart
,AnonymousTupleEmbeddedEntityIdentifierMapping
,AnonymousTupleEntityValuedModelPart
,AnonymousTupleNonAggregatedEntityIdentifierMapping
,AnonymousTupleTableGroupProducer
,AnyDiscriminatorPart
,AnyKeyPart
,BasicAttributeMapping
,BasicEntityIdentifierMappingImpl
,BasicValuedCollectionPart
,CaseStatementDiscriminatorMappingImpl
,CollectionIdentifierDescriptorImpl
,CompoundNaturalIdMapping
,CteTupleTableGroupProducer
,DiscriminatedAssociationAttributeMapping
,DiscriminatedCollectionPart
,EmbeddableMappingTypeImpl
,EmbeddedAttributeMapping
,EmbeddedCollectionPart
,EmbeddedForeignKeyDescriptor
,EmbeddedIdentifierMappingImpl
,EntityRowIdMappingImpl
,EntityVersionMappingImpl
,ExplicitColumnDiscriminatorMappingImpl
,IdClassEmbeddable
,InverseNonAggregatedIdentifierMapping
,JoinedSubclassEntityPersister
,ManyToManyCollectionPart
,NonAggregatedIdentifierMappingImpl
,OneToManyCollectionPart
,PluralAttributeMappingImpl
,SimpleForeignKeyDescriptor
,SimpleNaturalIdMapping
,SingleTableEntityPersister
,ToOneAttributeMapping
,UnionSubclassEntityPersister
,VirtualEmbeddedAttributeMapping
,VirtualIdEmbeddable
public interface ModelPart extends MappingModelExpressible
Base descriptor, within the mapping model, for any part of the application's domain model - an attribute, an entity identifier, collection elements, etc- See Also:
DomainResultProducer
,Bindable
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ModelPart.IndexedJdbcValueConsumer
static interface
ModelPart.JdbcValueConsumer
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState)
Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.void
applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState, BiConsumer<SqlSelection,JdbcMapping> selectionConsumer)
Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.default boolean
areEqual(Object one, Object other, SharedSessionContractImplementor session)
default AttributeMapping
asAttributeMapping()
void
breakDownJdbcValues(Object domainValue, ModelPart.JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session)
<T> DomainResult<T>
createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)
Create a DomainResult for a specific reference to this ModelPart.default void
decompose(Object domainValue, ModelPart.JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session)
EntityMappingType
findContainingEntityMapping()
default int
forEachSelectable(int offset, SelectableConsumer consumer)
default int
forEachSelectable(SelectableConsumer consumer)
JavaType<?>
getJavaType()
The Java type for this part.NavigableRole
getNavigableRole()
MappingType
getPartMappingType()
The type for this part.String
getPartName()
The local part name, which is generally the unqualified role nameboolean
hasPartitionedSelectionMapping()
default boolean
isVirtual()
Whether this model part describes something that physically exists in the domain model.-
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
-
-
-
-
Method Detail
-
getNavigableRole
NavigableRole getNavigableRole()
- See Also:
getPartName()
-
getPartName
String getPartName()
The local part name, which is generally the unqualified role name
-
getPartMappingType
MappingType getPartMappingType()
The type for this part.
-
getJavaType
JavaType<?> getJavaType()
The Java type for this part. Generally equivalent toMappingType.getMappedJavaType()
relative togetPartMappingType()
-
isVirtual
default boolean isVirtual()
Whether this model part describes something that physically exists in the domain model. For example, an entity's discriminator is part of the model, but is not a physical part of the domain model - there is no "discriminator attribute". Also indicates whether the part is castable toVirtualModelPart
-
hasPartitionedSelectionMapping
boolean hasPartitionedSelectionMapping()
-
createDomainResult
<T> DomainResult<T> createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)
Create a DomainResult for a specific reference to this ModelPart.
-
applySqlSelections
void applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState)
Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.
-
applySqlSelections
void applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState, BiConsumer<SqlSelection,JdbcMapping> selectionConsumer)
Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.
-
forEachSelectable
default int forEachSelectable(SelectableConsumer consumer)
-
forEachSelectable
default int forEachSelectable(int offset, SelectableConsumer consumer)
-
asAttributeMapping
default AttributeMapping asAttributeMapping()
-
breakDownJdbcValues
void breakDownJdbcValues(Object domainValue, ModelPart.JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session)
-
decompose
default void decompose(Object domainValue, ModelPart.JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session)
-
findContainingEntityMapping
EntityMappingType findContainingEntityMapping()
-
areEqual
default boolean areEqual(Object one, Object other, SharedSessionContractImplementor session)
-
-