HHH-17988 MetadataContext should consistently use ClassLoaderService
This commit is contained in:
parent
6f8545f1a5
commit
bfd0a29e95
|
@ -19,6 +19,8 @@ import java.util.function.BiFunction;
|
||||||
import org.hibernate.AssertionFailure;
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.Internal;
|
import org.hibernate.Internal;
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
|
import org.hibernate.boot.registry.classloading.spi.ClassLoaderService;
|
||||||
|
import org.hibernate.boot.registry.classloading.spi.ClassLoadingException;
|
||||||
import org.hibernate.boot.spi.MetadataImplementor;
|
import org.hibernate.boot.spi.MetadataImplementor;
|
||||||
import org.hibernate.internal.EntityManagerMessageLogger;
|
import org.hibernate.internal.EntityManagerMessageLogger;
|
||||||
import org.hibernate.internal.HEMLogging;
|
import org.hibernate.internal.HEMLogging;
|
||||||
|
@ -103,6 +105,7 @@ public class MetadataContext {
|
||||||
*/
|
*/
|
||||||
private final List<PersistentClass> stackOfPersistentClassesBeingProcessed = new ArrayList<>();
|
private final List<PersistentClass> stackOfPersistentClassesBeingProcessed = new ArrayList<>();
|
||||||
private final MappingMetamodel metamodel;
|
private final MappingMetamodel metamodel;
|
||||||
|
private final ClassLoaderService classLoaderService;
|
||||||
|
|
||||||
public MetadataContext(
|
public MetadataContext(
|
||||||
JpaMetamodelImplementor jpaMetamodel,
|
JpaMetamodelImplementor jpaMetamodel,
|
||||||
|
@ -112,6 +115,7 @@ public class MetadataContext {
|
||||||
JpaMetaModelPopulationSetting jpaMetaModelPopulationSetting,
|
JpaMetaModelPopulationSetting jpaMetaModelPopulationSetting,
|
||||||
RuntimeModelCreationContext runtimeModelCreationContext) {
|
RuntimeModelCreationContext runtimeModelCreationContext) {
|
||||||
this.jpaMetamodel = jpaMetamodel;
|
this.jpaMetamodel = jpaMetamodel;
|
||||||
|
this.classLoaderService = jpaMetamodel.getServiceRegistry().getService( ClassLoaderService.class );
|
||||||
this.metamodel = mappingMetamodel;
|
this.metamodel = mappingMetamodel;
|
||||||
this.knownMappedSuperclasses = bootMetamodel.getMappedSuperclassMappingsCopy();
|
this.knownMappedSuperclasses = bootMetamodel.getMappedSuperclassMappingsCopy();
|
||||||
this.typeConfiguration = runtimeModelCreationContext.getTypeConfiguration();
|
this.typeConfiguration = runtimeModelCreationContext.getTypeConfiguration();
|
||||||
|
@ -652,7 +656,7 @@ public class MetadataContext {
|
||||||
}
|
}
|
||||||
final String metamodelClassName = managedTypeClass.getName() + '_';
|
final String metamodelClassName = managedTypeClass.getName() + '_';
|
||||||
try {
|
try {
|
||||||
final Class<?> metamodelClass = Class.forName( metamodelClassName, true, managedTypeClass.getClassLoader() );
|
final Class<?> metamodelClass = classLoaderService.classForName( metamodelClassName );
|
||||||
// we found the class; so populate it...
|
// we found the class; so populate it...
|
||||||
registerAttributes( metamodelClass, managedType );
|
registerAttributes( metamodelClass, managedType );
|
||||||
try {
|
try {
|
||||||
|
@ -662,7 +666,7 @@ public class MetadataContext {
|
||||||
// ignore
|
// ignore
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (ClassNotFoundException ignore) {
|
catch (ClassLoadingException ignore) {
|
||||||
// nothing to do...
|
// nothing to do...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue