From e5671dbaadfd83afe3552aaa5485c8572c0e1004 Mon Sep 17 00:00:00 2001 From: Scott Marlow Date: Tue, 10 Jun 2025 14:15:52 -0400 Subject: [PATCH] HHH-19529 Check bytecode generated classes with stable names class loaders to ensure EE subdeployment contained entity classes are used in preference to top level deployment (e.g. EAR/lib) Signed-off-by: Scott Marlow --- .../bytecode/internal/bytebuddy/ByteBuddyState.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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