From 0f8fa7a12b3e4594cb9f3b0120c1d8605764bc1b Mon Sep 17 00:00:00 2001 From: barreiro Date: Tue, 12 Jul 2016 03:04:00 +0100 Subject: [PATCH] HHH-10922 - Call on bytecode enhanced method trigger load of proxy (cherry picked from commit 92c1e6357785f7ef6241400af92a7d6e7cf86a5c) --- .../proxy/pojo/javassist/JavassistLazyInitializer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hibernate-core/src/main/java/org/hibernate/proxy/pojo/javassist/JavassistLazyInitializer.java b/hibernate-core/src/main/java/org/hibernate/proxy/pojo/javassist/JavassistLazyInitializer.java index a9761188a1..898c64d6f0 100644 --- a/hibernate-core/src/main/java/org/hibernate/proxy/pojo/javassist/JavassistLazyInitializer.java +++ b/hibernate-core/src/main/java/org/hibernate/proxy/pojo/javassist/JavassistLazyInitializer.java @@ -57,6 +57,11 @@ public class JavassistLazyInitializer extends BasicLazyInitializer implements Me final Method proceed, final Object[] args) throws Throwable { if ( this.constructed ) { + // HHH-10922 - Internal calls to bytecode enhanced methods cause proxy to be initialized + if ( thisMethod.getName().startsWith( "$$_hibernate_" ) ) { + return proceed.invoke( proxy, args ); + } + Object result; try { result = this.invoke( thisMethod, args, proxy ); @@ -84,7 +89,7 @@ public class JavassistLazyInitializer extends BasicLazyInitializer implements Me } if ( returnValue == target ) { - if ( returnValue.getClass().isInstance(proxy) ) { + if ( returnValue.getClass().isInstance( proxy ) ) { return proxy; } else {