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 f9f2dd6afd2c..2bdfb646bf88 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 @@ -229,7 +229,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