From 57a3b0b456ca35889f382479cad81ea327cb2d81 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Tue, 25 Aug 2020 20:17:35 -0500 Subject: [PATCH] design doc work --- design/type-system-domain.adoc | 4 +- design/type-system-mapping.adoc | 83 +++++++------------ .../internal/DefaultLoadEventListener.java | 6 +- .../ast/internal/LoaderSelectBuilder.java | 4 +- .../AbstractCompositeIdentifierMapping.java | 2 +- .../mapping/PluralAttributeMapping.java | 2 +- .../metamodel/mapping/ValueMapping.java | 2 +- .../internal/AbstractAttributeMapping.java | 4 +- .../AbstractEntityDiscriminatorMapping.java | 4 +- .../BasicEntityIdentifierMappingImpl.java | 6 +- .../internal/BasicValuedCollectionPart.java | 2 +- .../BasicValuedSingularAttributeMapping.java | 11 +-- .../CollectionIdentifierDescriptorImpl.java | 4 +- .../internal/EmbeddedAttributeMapping.java | 6 +- .../EntityDiscriminatorMappingImpl.java | 2 +- .../internal/EntityVersionMappingImpl.java | 2 +- ...oinedSubclassDiscriminatorMappingImpl.java | 4 +- .../internal/PluralAttributeMappingImpl.java | 2 +- .../internal/SimpleForeignKeyDescriptor.java | 2 +- .../internal/ToOneAttributeMapping.java | 2 +- ...pleteResultBuilderBasicValuedStandard.java | 2 +- .../internal/StandardSqmSelectTranslator.java | 3 +- .../ast/tree/expression/AbstractLiteral.java | 4 +- .../sql/ast/tree/expression/QueryLiteral.java | 4 +- .../entity/AbstractEntityInitializer.java | 2 +- .../CircularBiDirectionalFetchImpl.java | 2 +- .../java/org/hibernate/type/BasicType.java | 2 +- .../test/metamodel/mapping/SmokeTests.java | 4 +- 28 files changed, 74 insertions(+), 103 deletions(-) diff --git a/design/type-system-domain.adoc b/design/type-system-domain.adoc index 5550696a8c..fc5f57cd0e 100644 --- a/design/type-system-domain.adoc +++ b/design/type-system-domain.adoc @@ -5,12 +5,12 @@ no references to tables, columns, etc. The base contract for Hibernate's extens JPA model is `org.hibernate.metamodel.model.domain.DomainType`. Hibernate's Semantic Query Model (SQM) is defined in terms of these JPA type extensions, -through the `org.hibernate.query.sqm.SqmExpressable` contract allowing parts of the application's +through the `org.hibernate.query.sqm.SqmExpressable` contract, allowing parts of the application's domain model to be used as part of an SQM tree. [plantuml,SqmTypeSystem,png] -.Domain (JPA/SQM) type system +.Domain type system .... @startuml skinparam handwritten true diff --git a/design/type-system-mapping.adoc b/design/type-system-mapping.adoc index 3c3fc2d648..c401d18abf 100644 --- a/design/type-system-mapping.adoc +++ b/design/type-system-mapping.adoc @@ -1,80 +1,57 @@ = Mapping model -[plantuml,SqmTypeSystem,png] -.Mapping type system +The mapping model encompasses the complete mapping of objects to/from database. It is the +model used to drive read and write operations. + +[NOTE] +---- +As of 6.0, only read operations are implemented to use this mapping model. Future versions will hopefully +move writing to use this mapping model as well +---- + +[plantuml,MasppingTypeSystem,png] +.Mapping type model (org.hibernate.metamodel.mapping) .... @startuml skinparam handwritten true interface MappingType +interface ManagedMappingType +interface MappingModelExpressable interface ValueMapping interface BasicType interface ModelPart interface ModelPartContainer -MappingType <|-- +MappingType <|-- BasicType +MappingType <|-- JdbcMapping +MappingType <|-- ManagedMappingType +MappingType <|-- CollectionMappingType + +ManagedMappingType <|-- EmbeddableMappingType +ManagedMappingType <|-- EntityMappingType + +MappingModelExpressable <|-- ValueMapping +MappingModelExpressable <|-- ModelPart ValueMapping <|-- BasicType -ValueMapping <|-- ModelPart -ModelPartContainer <|-- EntityMapping -ModelPartContainer <|-- EmbeddableMapping -ModelPart <|-- EmbeddableMapping + +ModelPart <|-- BasicValuedModelPart +ModelPart <|-- EmbeddableValuedModelPart +ModelPart <|-- EntityValuedModelPart ModelPart <|-- AttributeMapping ModelPart <|-- EntityIdentifierMapping ModelPart <|-- EntityVersionMapping ModelPart <|-- EntityDiscriminatorMapping +ModelPart <|-- CollectionPart +ModelPartContainer <|-- EntityMappingType +ModelPartContainer <|-- EmbeddableMappingType @enduml .... -[source,JAVA] ----- -interface ValueMapping { - Type getMappingType(); - X getCapability(Class capabilityType); - ... -} - -interface ModelPart extends ValueMapping { - DomainResult createDomainResult(...); - void applySqlSelections(...); - ... -} - -interface ModelPartContainer extends ValueMapping { - void visitSubMappings(Consumer action); - ModelPart findSubPart(String name); - ModelPart resolveSubPart(String path); -} - -interface EntityMapping extends ModelPartContainer { - default EntityPersister getEntityPersister() { - return getCapability( EntityPersister.class ); - } - - default EntityIdentifierMapping getIdentifierMapping() { - return getCapability( EntityIdentifierMapping.class ); - } - - default EntityVersionMapping getVersionMapping() { - return getCapability( EntityVersionMapping.class ); - } - - default EntityDiscriminatorMapping getDiscriminatorMapping() { - return getCapability( EntityDiscriminatorMapping.class ); - } - - ... -} - -interface EmbeddableMapping extends ModelPart, ModelPartContainer { - ... -} ----- - - == Relationship with legacy "persister walking" SPI `org.hibernate.metamodel.model.mapping` contract corollaries in `org.hibernate.persister.walking`: diff --git a/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java b/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java index 7ad4bcac3c..1b8211c523 100644 --- a/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java +++ b/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java @@ -132,10 +132,10 @@ public class DefaultLoadEventListener implements LoadEventListener { if ( cidMapping.getAttributeCount() == 1 ) { final AttributeMapping singleIdAttribute = cidMapping.getAttributes().iterator().next(); - if ( singleIdAttribute.getMappedTypeDescriptor() instanceof EntityMappingType ) { - final EntityMappingType dependentIdTargetMapping = (EntityMappingType) singleIdAttribute.getMappedTypeDescriptor(); + if ( singleIdAttribute.getMappedType() instanceof EntityMappingType ) { + final EntityMappingType dependentIdTargetMapping = (EntityMappingType) singleIdAttribute.getMappedType(); final EntityIdentifierMapping dependentIdTargetIdMapping = dependentIdTargetMapping.getIdentifierMapping(); - final JavaTypeDescriptor dependentParentIdJtd = dependentIdTargetIdMapping.getMappedTypeDescriptor().getMappedJavaTypeDescriptor(); + final JavaTypeDescriptor dependentParentIdJtd = dependentIdTargetIdMapping.getMappedType().getMappedJavaTypeDescriptor(); if ( dependentParentIdJtd.getJavaType().isInstance( event.getEntityId() ) ) { // yep that's what we have... loadByDerivedIdentitySimplePkValue( diff --git a/hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderSelectBuilder.java b/hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderSelectBuilder.java index 5fc7065f7c..e04011ff9a 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderSelectBuilder.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/ast/internal/LoaderSelectBuilder.java @@ -34,12 +34,10 @@ import org.hibernate.loader.ast.spi.Loadable; import org.hibernate.loader.ast.spi.Loader; import org.hibernate.metamodel.mapping.BasicValuedModelPart; import org.hibernate.metamodel.mapping.CollectionPart; -import org.hibernate.metamodel.mapping.EmbeddableValuedModelPart; import org.hibernate.metamodel.mapping.EntityIdentifierMapping; import org.hibernate.metamodel.mapping.EntityMappingType; import org.hibernate.metamodel.mapping.EntityValuedModelPart; import org.hibernate.metamodel.mapping.ForeignKeyDescriptor; -import org.hibernate.metamodel.mapping.JdbcMapping; import org.hibernate.metamodel.mapping.ModelPart; import org.hibernate.metamodel.mapping.PluralAttributeMapping; import org.hibernate.metamodel.mapping.internal.EmbeddedAttributeMapping; @@ -654,7 +652,7 @@ public class LoaderSelectBuilder { if ( fetch.getTiming() == FetchTiming.IMMEDIATE && fetchable instanceof PluralAttributeMapping ) { final PluralAttributeMapping pluralAttributeMapping = (PluralAttributeMapping) fetchable; - if ( pluralAttributeMapping.getMappedTypeDescriptor() + if ( pluralAttributeMapping.getMappedType() .getCollectionSemantics() instanceof BagSemantics ) { bagRoles.add( fetchable.getNavigableRole().getNavigableName() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractCompositeIdentifierMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractCompositeIdentifierMapping.java index 7754cacc51..ad1aec3aa9 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractCompositeIdentifierMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AbstractCompositeIdentifierMapping.java @@ -81,7 +81,7 @@ public abstract class AbstractCompositeIdentifierMapping } @Override - public EmbeddableMappingType getMappedTypeDescriptor() { + public EmbeddableMappingType getMappedType() { return embeddableDescriptor; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/PluralAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/PluralAttributeMapping.java index f93fd99eaa..4581f0834c 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/PluralAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/PluralAttributeMapping.java @@ -29,7 +29,7 @@ public interface PluralAttributeMapping CollectionPart getIndexDescriptor(); @Override - CollectionMappingType getMappedTypeDescriptor(); + CollectionMappingType getMappedType(); interface IndexMetadata { CollectionPart getIndexDescriptor(); diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/ValueMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/ValueMapping.java index fab4f64afb..3028a26402 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/ValueMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/ValueMapping.java @@ -22,7 +22,7 @@ public interface ValueMapping extends MappingModelExpressable { /** * Descriptor for the type of this mapping */ - MappingType getMappedTypeDescriptor(); + MappingType getMappedType(); /** * Treat operation. Asks the ValueMapping to treat itself as the diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractAttributeMapping.java index 8a04ad39b4..9685dd9693 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractAttributeMapping.java @@ -38,13 +38,13 @@ public abstract class AbstractAttributeMapping implements AttributeMapping { @Override public MappingType getPartMappingType() { - return getMappedTypeDescriptor(); + return getMappedType(); } @Override @SuppressWarnings("rawtypes") public JavaTypeDescriptor getJavaTypeDescriptor() { - return getMappedTypeDescriptor().getMappedJavaTypeDescriptor(); + return getMappedType().getMappedJavaTypeDescriptor(); } void setForeignKeyDescriptor(ForeignKeyDescriptor foreignKeyDescriptor){ diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractEntityDiscriminatorMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractEntityDiscriminatorMapping.java index 63c3c82036..fc8aab7243 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractEntityDiscriminatorMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AbstractEntityDiscriminatorMapping.java @@ -139,11 +139,11 @@ public abstract class AbstractEntityDiscriminatorMapping implements EntityDiscri @Override public JavaTypeDescriptor getJavaTypeDescriptor() { - return getMappedTypeDescriptor().getMappedJavaTypeDescriptor(); + return getMappedType().getMappedJavaTypeDescriptor(); } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return mappingType; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicEntityIdentifierMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicEntityIdentifierMappingImpl.java index 1eaf2ecb08..98c10305ce 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicEntityIdentifierMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicEntityIdentifierMappingImpl.java @@ -125,7 +125,7 @@ public class BasicEntityIdentifierMappingImpl implements BasicEntityIdentifierMa } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return getJdbcMapping()::getJavaTypeDescriptor; } @@ -163,7 +163,7 @@ public class BasicEntityIdentifierMappingImpl implements BasicEntityIdentifierMa @Override public JavaTypeDescriptor getJavaTypeDescriptor() { - return getMappedTypeDescriptor().getMappedJavaTypeDescriptor(); + return getMappedType().getMappedJavaTypeDescriptor(); } @Override @@ -217,7 +217,7 @@ public class BasicEntityIdentifierMappingImpl implements BasicEntityIdentifierMa return new BasicResult( sqlSelection.getValuesArrayPosition(), resultVariable, - entityPersister.getIdentifierMapping().getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + entityPersister.getIdentifierMapping().getMappedType().getMappedJavaTypeDescriptor(), navigablePath ); } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedCollectionPart.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedCollectionPart.java index a1254462f2..1920395d77 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedCollectionPart.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedCollectionPart.java @@ -163,7 +163,7 @@ public class BasicValuedCollectionPart } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return this::getJavaTypeDescriptor; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedSingularAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedSingularAttributeMapping.java index fca5198f96..5e942ef47e 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedSingularAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/BasicValuedSingularAttributeMapping.java @@ -9,11 +9,9 @@ package org.hibernate.metamodel.mapping.internal; import java.util.function.Consumer; import org.hibernate.LockMode; -import org.hibernate.MappingException; import org.hibernate.engine.FetchStrategy; import org.hibernate.engine.FetchTiming; import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.internal.util.StringHelper; import org.hibernate.metamodel.mapping.BasicValuedModelPart; import org.hibernate.metamodel.mapping.ColumnConsumer; import org.hibernate.metamodel.mapping.ConvertibleModelPart; @@ -26,7 +24,6 @@ import org.hibernate.metamodel.model.convert.spi.BasicValueConverter; import org.hibernate.metamodel.model.domain.NavigableRole; import org.hibernate.property.access.spi.PropertyAccess; import org.hibernate.query.NavigablePath; -import org.hibernate.sql.Template; import org.hibernate.sql.ast.Clause; import org.hibernate.sql.ast.spi.SqlAstCreationState; import org.hibernate.sql.ast.spi.SqlExpressionResolver; @@ -96,7 +93,7 @@ public class BasicValuedSingularAttributeMapping } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return getJdbcMapping(); } @@ -142,7 +139,7 @@ public class BasicValuedSingularAttributeMapping return new BasicResult( sqlSelection.getValuesArrayPosition(), resultVariable, - getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + getMappedType().getMappedJavaTypeDescriptor(), valueConverter, navigablePath ); @@ -169,7 +166,7 @@ public class BasicValuedSingularAttributeMapping creationState.getSqlAstCreationState().getCreationContext().getSessionFactory() ) ), - valueConverter == null ? getMappedTypeDescriptor().getMappedJavaTypeDescriptor() : valueConverter.getRelationalJavaDescriptor(), + valueConverter == null ? getMappedType().getMappedJavaTypeDescriptor() : valueConverter.getRelationalJavaDescriptor(), creationState.getSqlAstCreationState().getCreationContext().getDomainModel().getTypeConfiguration() ); } @@ -198,7 +195,7 @@ public class BasicValuedSingularAttributeMapping creationState.getSqlAstCreationState().getCreationContext().getSessionFactory() ) ), - valueConverter == null ? getMappedTypeDescriptor().getMappedJavaTypeDescriptor() : valueConverter.getRelationalJavaDescriptor(), + valueConverter == null ? getMappedType().getMappedJavaTypeDescriptor() : valueConverter.getRelationalJavaDescriptor(), creationState.getSqlAstCreationState().getCreationContext().getDomainModel().getTypeConfiguration() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/CollectionIdentifierDescriptorImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/CollectionIdentifierDescriptorImpl.java index 4107965757..c8c68bee57 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/CollectionIdentifierDescriptorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/CollectionIdentifierDescriptorImpl.java @@ -82,13 +82,13 @@ public class CollectionIdentifierDescriptorImpl implements CollectionIdentifierD } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return type; } @Override public JavaTypeDescriptor getJavaTypeDescriptor() { - return getMappedTypeDescriptor().getMappedJavaTypeDescriptor(); + return getMappedType().getMappedJavaTypeDescriptor(); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java index f4ebf444d7..75e6a66cbd 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EmbeddedAttributeMapping.java @@ -101,7 +101,7 @@ public class EmbeddedAttributeMapping } @Override - public EmbeddableMappingType getMappedTypeDescriptor() { + public EmbeddableMappingType getMappedType() { return getEmbeddableTypeDescriptor(); } @@ -247,14 +247,14 @@ public class EmbeddedAttributeMapping public ModelPart findSubPart( String name, EntityMappingType treatTargetType) { - return getMappedTypeDescriptor().findSubPart( name, treatTargetType ); + return getMappedType().findSubPart( name, treatTargetType ); } @Override public void visitSubParts( Consumer consumer, EntityMappingType treatTargetType) { - getMappedTypeDescriptor().visitSubParts( consumer, treatTargetType ); + getMappedType().visitSubParts( consumer, treatTargetType ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityDiscriminatorMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityDiscriminatorMappingImpl.java index ace599d4b8..6092d8dbc3 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityDiscriminatorMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityDiscriminatorMappingImpl.java @@ -54,7 +54,7 @@ public class EntityDiscriminatorMappingImpl extends AbstractEntityDiscriminatorM creationState.getSqlAstCreationState().getCreationContext().getSessionFactory() ) ), - getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + getMappedType().getMappedJavaTypeDescriptor(), creationState.getSqlAstCreationState().getCreationContext().getDomainModel().getTypeConfiguration() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityVersionMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityVersionMappingImpl.java index 77d7818008..cd1f9557ed 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityVersionMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/EntityVersionMappingImpl.java @@ -82,7 +82,7 @@ public class EntityVersionMappingImpl implements EntityVersionMapping, FetchOpti } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return versionBasicType; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/JoinedSubclassDiscriminatorMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/JoinedSubclassDiscriminatorMappingImpl.java index 313258c8ef..7483dc00a5 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/JoinedSubclassDiscriminatorMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/JoinedSubclassDiscriminatorMappingImpl.java @@ -51,7 +51,7 @@ public class JoinedSubclassDiscriminatorMappingImpl extends AbstractEntityDiscri columnReference -> expressionResolver.resolveSqlSelection( columnReference, - getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + getMappedType().getMappedJavaTypeDescriptor(), creationState.getSqlAstCreationState() .getCreationContext() .getDomainModel() @@ -64,7 +64,7 @@ public class JoinedSubclassDiscriminatorMappingImpl extends AbstractEntityDiscri getMappedColumnExpression(), sqlAstProcessingState -> caseSearchedExpression ), - getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + getMappedType().getMappedJavaTypeDescriptor(), creationState.getSqlAstCreationState().getCreationContext().getDomainModel().getTypeConfiguration() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java index d98358f719..54b6d14d2e 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java @@ -357,7 +357,7 @@ public class PluralAttributeMappingImpl extends AbstractAttributeMapping @Override @SuppressWarnings("rawtypes") - public CollectionMappingType getMappedTypeDescriptor() { + public CollectionMappingType getMappedType() { return collectionMappingType; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java index da5ad6ac08..6040f72a5f 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java @@ -379,7 +379,7 @@ public class SimpleForeignKeyDescriptor implements ForeignKeyDescriptor, BasicVa } @Override - public MappingType getMappedTypeDescriptor() { + public MappingType getMappedType() { return null; } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/ToOneAttributeMapping.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/ToOneAttributeMapping.java index 273b492454..f3ca9dca98 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/ToOneAttributeMapping.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/ToOneAttributeMapping.java @@ -206,7 +206,7 @@ public class ToOneAttributeMapping extends AbstractSingularAttributeMapping } @Override - public EntityMappingType getMappedTypeDescriptor() { + public EntityMappingType getMappedType() { return getEntityMappingType(); } diff --git a/hibernate-core/src/main/java/org/hibernate/query/results/complete/CompleteResultBuilderBasicValuedStandard.java b/hibernate-core/src/main/java/org/hibernate/query/results/complete/CompleteResultBuilderBasicValuedStandard.java index 23e3cb7124..e371a11187 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/results/complete/CompleteResultBuilderBasicValuedStandard.java +++ b/hibernate-core/src/main/java/org/hibernate/query/results/complete/CompleteResultBuilderBasicValuedStandard.java @@ -100,7 +100,7 @@ public class CompleteResultBuilderBasicValuedStandard implements CompleteResultB sessionFactory.getTypeConfiguration() ); - return new BasicResult<>( valuesArrayPosition, columnName, basicType.getMappedTypeDescriptor().getMappedJavaTypeDescriptor() ); + return new BasicResult<>( valuesArrayPosition, columnName, basicType.getMappedType().getMappedJavaTypeDescriptor() ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/internal/StandardSqmSelectTranslator.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/internal/StandardSqmSelectTranslator.java index 50171f083a..e09c41bad7 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/internal/StandardSqmSelectTranslator.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/sql/internal/StandardSqmSelectTranslator.java @@ -18,7 +18,6 @@ import org.hibernate.HibernateException; import org.hibernate.LockMode; import org.hibernate.LockOptions; import org.hibernate.NotYetImplementedFor6Exception; -import org.hibernate.collection.spi.BagSemantics; import org.hibernate.engine.FetchTiming; import org.hibernate.engine.profile.FetchProfile; import org.hibernate.engine.spi.LoadQueryInfluencers; @@ -296,7 +295,7 @@ public class StandardSqmSelectTranslator if ( fetch != null ) { if ( fetch.getTiming() == FetchTiming.IMMEDIATE && fetchable instanceof PluralAttributeMapping ) { final PluralAttributeMapping pluralAttributeMapping = (PluralAttributeMapping) fetchable; - final CollectionClassification collectionClassification = pluralAttributeMapping.getMappedTypeDescriptor() + final CollectionClassification collectionClassification = pluralAttributeMapping.getMappedType() .getCollectionSemantics() .getCollectionClassification(); if ( collectionClassification == CollectionClassification.BAG ) { diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/AbstractLiteral.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/AbstractLiteral.java index 4e65340fd9..b10d601684 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/AbstractLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/AbstractLiteral.java @@ -65,7 +65,7 @@ public abstract class AbstractLiteral final SqlExpressionResolver sqlExpressionResolver = creationState.getSqlAstCreationState().getSqlExpressionResolver(); final SqlSelection sqlSelection = sqlExpressionResolver.resolveSqlSelection( this, - type.getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + type.getMappedType().getMappedJavaTypeDescriptor(), creationState.getSqlAstCreationState() .getCreationContext() .getSessionFactory() @@ -76,7 +76,7 @@ public abstract class AbstractLiteral return new BasicResult<>( sqlSelection.getValuesArrayPosition(), resultVariable, - type.getMappedTypeDescriptor().getMappedJavaTypeDescriptor() + type.getMappedType().getMappedJavaTypeDescriptor() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/QueryLiteral.java b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/QueryLiteral.java index 66b313fa8c..39bc22affd 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/QueryLiteral.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/QueryLiteral.java @@ -67,7 +67,7 @@ public class QueryLiteral implements Literal, DomainResultProducer { final SqlExpressionResolver sqlExpressionResolver = creationState.getSqlAstCreationState().getSqlExpressionResolver(); final SqlSelection sqlSelection = sqlExpressionResolver.resolveSqlSelection( this, - type.getMappedTypeDescriptor().getMappedJavaTypeDescriptor(), + type.getMappedType().getMappedJavaTypeDescriptor(), creationState.getSqlAstCreationState() .getCreationContext() .getSessionFactory() @@ -78,7 +78,7 @@ public class QueryLiteral implements Literal, DomainResultProducer { return new BasicResult<>( sqlSelection.getValuesArrayPosition(), resultVariable, - type.getMappedTypeDescriptor().getMappedJavaTypeDescriptor() + type.getMappedType().getMappedJavaTypeDescriptor() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/AbstractEntityInitializer.java b/hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/AbstractEntityInitializer.java index de6fa6cc2d..2ebe0c3bde 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/AbstractEntityInitializer.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/AbstractEntityInitializer.java @@ -198,7 +198,7 @@ public abstract class AbstractEntityInitializer extends AbstractFetchParentAcces final DomainResultAssembler stateAssembler; if ( fetch == null ) { - stateAssembler = new NullValueAssembler( attributeMapping.getMappedTypeDescriptor().getMappedJavaTypeDescriptor() ); + stateAssembler = new NullValueAssembler( attributeMapping.getMappedType().getMappedJavaTypeDescriptor() ); } else { stateAssembler = fetch.createAssembler( this, creationState ); diff --git a/hibernate-core/src/main/java/org/hibernate/sql/results/internal/domain/CircularBiDirectionalFetchImpl.java b/hibernate-core/src/main/java/org/hibernate/sql/results/internal/domain/CircularBiDirectionalFetchImpl.java index bd566e5b98..7e0da25e19 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/results/internal/domain/CircularBiDirectionalFetchImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/results/internal/domain/CircularBiDirectionalFetchImpl.java @@ -189,7 +189,7 @@ public class CircularBiDirectionalFetchImpl implements BiDirectionalFetch, Assoc final CollectionKey collectionKey = circ.resolveCollectionKey( rowProcessingState ); final EntityKey entityKey = new EntityKey( collectionKey.getKey(), - (EntityPersister) ( (AttributeMapping) fetchable ).getMappedTypeDescriptor() + (EntityPersister) ( (AttributeMapping) fetchable ).getMappedType() ); final SharedSessionContractImplementor session = rowProcessingState.getJdbcValuesSourceProcessingState() diff --git a/hibernate-core/src/main/java/org/hibernate/type/BasicType.java b/hibernate-core/src/main/java/org/hibernate/type/BasicType.java index 5ed8e93a6d..bd9b1a5d6a 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/BasicType.java +++ b/hibernate-core/src/main/java/org/hibernate/type/BasicType.java @@ -33,7 +33,7 @@ public interface BasicType extends Type, BasicDomainType, MappingType, Bas String[] getRegistrationKeys(); @Override - default MappingType getMappedTypeDescriptor() { + default MappingType getMappedType() { return this; } diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/mapping/SmokeTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/mapping/SmokeTests.java index bdcef5d3bb..61941f44f4 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/mapping/SmokeTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/mapping/SmokeTests.java @@ -66,7 +66,7 @@ public class SmokeTests { final EntityIdentifierMapping identifierMapping = entityDescriptor.getIdentifierMapping(); assertThat( - identifierMapping.getMappedTypeDescriptor().getMappedJavaTypeDescriptor().getJavaType(), + identifierMapping.getMappedType().getMappedJavaTypeDescriptor().getJavaType(), sameInstance( Integer.class ) ); @@ -154,7 +154,7 @@ public class SmokeTests { assertThat( part, instanceOf( ToOneAttributeMapping.class ) ); final ToOneAttributeMapping attrMapping = (ToOneAttributeMapping) part; assertThat( attrMapping.getAttributeName(), is( "simpleEntity" ) ); - assertThat( attrMapping.getMappedTypeDescriptor(), is( simpleEntityDescriptor ) ); + assertThat( attrMapping.getMappedType(), is( simpleEntityDescriptor ) ); assertThat( attrMapping.getJavaTypeDescriptor(), is( simpleEntityDescriptor.getJavaTypeDescriptor() )