mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-17 08:35:13 +00:00
Refactoring, removed InFlightEntityMappingType#finishMappingModelInitialization method
This commit is contained in:
parent
287808a914
commit
d5715e3fbc
@ -23,7 +23,6 @@
|
|||||||
import org.hibernate.internal.util.collections.ArrayHelper;
|
import org.hibernate.internal.util.collections.ArrayHelper;
|
||||||
import org.hibernate.mapping.Component;
|
import org.hibernate.mapping.Component;
|
||||||
import org.hibernate.mapping.Property;
|
import org.hibernate.mapping.Property;
|
||||||
import org.hibernate.mapping.ToOne;
|
|
||||||
import org.hibernate.metamodel.mapping.internal.MappingModelCreationHelper;
|
import org.hibernate.metamodel.mapping.internal.MappingModelCreationHelper;
|
||||||
import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess;
|
import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess;
|
||||||
import org.hibernate.metamodel.mapping.internal.SingularAssociationAttributeMapping;
|
import org.hibernate.metamodel.mapping.internal.SingularAssociationAttributeMapping;
|
||||||
@ -194,14 +193,6 @@ else if ( subtype instanceof EntityType ) {
|
|||||||
compositeType.getCascadeStyle( attributeIndex ),
|
compositeType.getCascadeStyle( attributeIndex ),
|
||||||
creationProcess
|
creationProcess
|
||||||
);
|
);
|
||||||
MappingModelCreationHelper.interpretKeyDescriptor(
|
|
||||||
singularAssociationAttributeMapping,
|
|
||||||
bootPropertyDescriptor,
|
|
||||||
(ToOne) bootPropertyDescriptor.getValue(),
|
|
||||||
entityPersister,
|
|
||||||
dialect,
|
|
||||||
creationProcess
|
|
||||||
);
|
|
||||||
attributeMappings.put( bootPropertyDescriptor.getName(), singularAssociationAttributeMapping );
|
attributeMappings.put( bootPropertyDescriptor.getName(), singularAssociationAttributeMapping );
|
||||||
// todo (6.0) : not sure it is always correct
|
// todo (6.0) : not sure it is always correct
|
||||||
columnPosition++;
|
columnPosition++;
|
||||||
|
@ -35,8 +35,4 @@ default void linkWithSubType(EntityMappingType sub, MappingModelCreationProcess
|
|||||||
default void prepareMappingModel(MappingModelCreationProcess creationProcess) {
|
default void prepareMappingModel(MappingModelCreationProcess creationProcess) {
|
||||||
// by default do nothing - support for legacy impls
|
// by default do nothing - support for legacy impls
|
||||||
}
|
}
|
||||||
|
|
||||||
default void finishMappingModelInitialization(MappingModelCreationProcess creationProcess) {
|
|
||||||
// by default do nothing
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1281,12 +1281,11 @@ public JavaTypeDescriptor getMappedJavaTypeDescriptor() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static SingularAssociationAttributeMapping buildSingularAssociationAttributeMapping(
|
public static SingularAssociationAttributeMapping buildSingularAssociationAttributeMapping(
|
||||||
String attrName,
|
String attrName,
|
||||||
int stateArrayPosition,
|
int stateArrayPosition,
|
||||||
Property bootProperty,
|
Property bootProperty,
|
||||||
ManagedMappingType declaringType,
|
EntityPersister declaringType,
|
||||||
EntityType attrType,
|
EntityType attrType,
|
||||||
PropertyAccess propertyAccess,
|
PropertyAccess propertyAccess,
|
||||||
CascadeStyle cascadeStyle,
|
CascadeStyle cascadeStyle,
|
||||||
@ -1316,7 +1315,7 @@ public static SingularAssociationAttributeMapping buildSingularAssociationAttrib
|
|||||||
|
|
||||||
final FetchStrategy fetchStrategy = new FetchStrategy( fetchTiming, fetchStyle );
|
final FetchStrategy fetchStrategy = new FetchStrategy( fetchTiming, fetchStyle );
|
||||||
|
|
||||||
return new SingularAssociationAttributeMapping(
|
final SingularAssociationAttributeMapping attributeMapping = new SingularAssociationAttributeMapping(
|
||||||
attrName,
|
attrName,
|
||||||
stateArrayPosition,
|
stateArrayPosition,
|
||||||
(ToOne) bootProperty.getValue(),
|
(ToOne) bootProperty.getValue(),
|
||||||
@ -1326,6 +1325,25 @@ public static SingularAssociationAttributeMapping buildSingularAssociationAttrib
|
|||||||
declaringType,
|
declaringType,
|
||||||
propertyAccess
|
propertyAccess
|
||||||
);
|
);
|
||||||
|
creationProcess.registerInitializationCallback(
|
||||||
|
() -> {
|
||||||
|
final Dialect dialect = creationProcess.getCreationContext()
|
||||||
|
.getSessionFactory()
|
||||||
|
.getJdbcServices()
|
||||||
|
.getDialect();
|
||||||
|
|
||||||
|
MappingModelCreationHelper.interpretKeyDescriptor(
|
||||||
|
attributeMapping,
|
||||||
|
bootProperty,
|
||||||
|
(ToOne) bootProperty.getValue(),
|
||||||
|
declaringType,
|
||||||
|
dialect,
|
||||||
|
creationProcess
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return attributeMapping;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -66,12 +66,6 @@ private void execute() {
|
|||||||
entityPersister.prepareMappingModel( this );
|
entityPersister.prepareMappingModel( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( EntityPersister entityPersister : entityPersisterMap.values() ) {
|
|
||||||
currentlyProcessingRole = entityPersister.getEntityName();
|
|
||||||
|
|
||||||
entityPersister.finishMappingModelInitialization( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
while ( postInitCallbacks != null && ! postInitCallbacks.isEmpty() ) {
|
while ( postInitCallbacks != null && ! postInitCallbacks.isEmpty() ) {
|
||||||
// copy to avoid CCME
|
// copy to avoid CCME
|
||||||
final ArrayList<PostInitCallback> copy = new ArrayList<>( new ArrayList<>( postInitCallbacks ) );
|
final ArrayList<PostInitCallback> copy = new ArrayList<>( new ArrayList<>( postInitCallbacks ) );
|
||||||
|
@ -124,7 +124,6 @@
|
|||||||
import org.hibernate.mapping.Selectable;
|
import org.hibernate.mapping.Selectable;
|
||||||
import org.hibernate.mapping.Subclass;
|
import org.hibernate.mapping.Subclass;
|
||||||
import org.hibernate.mapping.Table;
|
import org.hibernate.mapping.Table;
|
||||||
import org.hibernate.mapping.ToOne;
|
|
||||||
import org.hibernate.metadata.ClassMetadata;
|
import org.hibernate.metadata.ClassMetadata;
|
||||||
import org.hibernate.metamodel.RepresentationMode;
|
import org.hibernate.metamodel.RepresentationMode;
|
||||||
import org.hibernate.metamodel.mapping.AttributeMapping;
|
import org.hibernate.metamodel.mapping.AttributeMapping;
|
||||||
@ -5781,27 +5780,6 @@ public void prepareMappingModel(MappingModelCreationProcess creationProcess) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void finishMappingModelInitialization(MappingModelCreationProcess creationProcess) {
|
|
||||||
singularAssociationsToFinilize.forEach( (property, singularAssociationAttributeMapping) -> {
|
|
||||||
final Dialect dialect = creationProcess.getCreationContext()
|
|
||||||
.getSessionFactory()
|
|
||||||
.getJdbcServices()
|
|
||||||
.getDialect();
|
|
||||||
|
|
||||||
MappingModelCreationHelper.interpretKeyDescriptor(
|
|
||||||
singularAssociationAttributeMapping,
|
|
||||||
property,
|
|
||||||
(ToOne) property.getValue(),
|
|
||||||
this,
|
|
||||||
dialect,
|
|
||||||
creationProcess
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
|
|
||||||
singularAssociationsToFinilize.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static SqmMultiTableMutationStrategy interpretSqmMultiTableStrategy(
|
protected static SqmMultiTableMutationStrategy interpretSqmMultiTableStrategy(
|
||||||
AbstractEntityPersister entityMappingDescriptor,
|
AbstractEntityPersister entityMappingDescriptor,
|
||||||
MappingModelCreationProcess creationProcess) {
|
MappingModelCreationProcess creationProcess) {
|
||||||
@ -5969,8 +5947,6 @@ private static EntityVersionMapping generateVersionMapping(
|
|||||||
throw new NotYetImplementedFor6Exception( AbstractEntityPersister.class );
|
throw new NotYetImplementedFor6Exception( AbstractEntityPersister.class );
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<Property,SingularAssociationAttributeMapping> singularAssociationsToFinilize = new HashMap<>( );
|
|
||||||
|
|
||||||
private AttributeMapping generateNonIdAttributeMapping(
|
private AttributeMapping generateNonIdAttributeMapping(
|
||||||
NonIdentifierAttribute tupleAttrDefinition,
|
NonIdentifierAttribute tupleAttrDefinition,
|
||||||
Property bootProperty,
|
Property bootProperty,
|
||||||
@ -6042,7 +6018,6 @@ else if ( attrType instanceof EntityType ) {
|
|||||||
tupleAttrDefinition.getCascadeStyle(),
|
tupleAttrDefinition.getCascadeStyle(),
|
||||||
creationProcess
|
creationProcess
|
||||||
);
|
);
|
||||||
singularAssociationsToFinilize.put( bootProperty,attributeMapping );
|
|
||||||
return attributeMapping;
|
return attributeMapping;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user