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..dad4e68c951f 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 @@ -228,8 +228,17 @@ void clearState() { * @return The loaded generated class. */ 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()) { + LOG.info("xxx ByteBuddyState.load detected problem where " + + "loading generated class \"" + className + "\" from a subdeployment is actually loading the generated class in the ear lib." + + "\nDetails: " + + "referenceClass.getClassLoader() == " + referenceClass.getClassLoader() + + "\nLoaded class classloader = " + result.getClassLoader()); + } + return result; } catch (ClassNotFoundException e) { // Ignore