From 2649b0c99118a38f4c51f1a4b53c291740a864a7 Mon Sep 17 00:00:00 2001 From: lbsekr Date: Thu, 8 Jan 2026 19:00:08 +0100 Subject: [PATCH] fix(SpringContainedBean::getBeanClass): return the actual target class, not a proxy subclass Signed-off-by: lbsekr --- .../springframework/orm/jpa/hibernate/SpringBeanContainer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/hibernate/SpringBeanContainer.java b/spring-orm/src/main/java/org/springframework/orm/jpa/hibernate/SpringBeanContainer.java index be1ebc3437d8..7a6463e6859f 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/hibernate/SpringBeanContainer.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/hibernate/SpringBeanContainer.java @@ -27,6 +27,7 @@ import org.hibernate.type.spi.TypeBootstrapContext; import org.jspecify.annotations.Nullable; +import org.springframework.aop.framework.AopProxyUtils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; @@ -262,7 +263,7 @@ public B getBeanInstance() { @Override @SuppressWarnings("unchecked") public Class getBeanClass() { - return (Class) this.beanInstance.getClass(); + return (Class) AopProxyUtils.ultimateTargetClass(this.beanInstance); } public void destroyIfNecessary() {