diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index 530c0d5f57..6fd8b82c09 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -318,6 +318,7 @@ class DefaultExecuteContext implements ExecuteContext { *
org.springframework.jdbc.datasource.ConnectionProxyorg.apache.commons.dbcp.DelegatingConnectionorg.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@@ -379,6 +380,16 @@ class DefaultExecuteContext implements ExecuteContext { } catch (ReflectException ignore) {} + // [#7641] Unwrap nested org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8 + try { + Connection r = Reflect.on(result).call("getUnderlyingConnection").get(); + if (result != r && r != null) { + result = r; + continue unwrappingLoop; + } + } + catch (ReflectException ignore) {} + // No unwrapping method was found. break; }