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 interfaceModelPart.IndexedJdbcValueConsumerstatic interfaceModelPart.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 voidapplySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState)Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.voidapplySqlSelections(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 booleanareEqual(Object one, Object other, SharedSessionContractImplementor session)default AttributeMappingasAttributeMapping()voidbreakDownJdbcValues(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 voiddecompose(Object domainValue, ModelPart.JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session)EntityMappingTypefindContainingEntityMapping()default intforEachSelectable(int offset, SelectableConsumer consumer)default intforEachSelectable(SelectableConsumer consumer)JavaType<?>getJavaType()The Java type for this part.NavigableRolegetNavigableRole()MappingTypegetPartMappingType()The type for this part.StringgetPartName()The local part name, which is generally the unqualified role namebooleanhasPartitionedSelectionMapping()default booleanisVirtual()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)
-
-