diff --git a/hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/ByteBuddyState.java b/hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/ByteBuddyState.java index 9c5871b1d1f5..e3b108e557f8 100644 --- a/hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/ByteBuddyState.java +++ b/hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/ByteBuddyState.java @@ -214,7 +214,10 @@ void clearState() { */ public Class load(Class referenceClass, String className, BiFunction> makeClassFunction) { try { - return referenceClass.getClassLoader().loadClass( className ); + Class result = referenceClass.getClassLoader().loadClass(className); + if ( result.getClassLoader() == referenceClass.getClassLoader() ) { + return result; + } } catch (ClassNotFoundException e) { // Ignore