diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index d3538727bc..51c4008acc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -2338,7 +2338,10 @@ public class DefaultBinding implements Binding { else if (type == Object.class) { return (T) string; } - else { + + // [#4964] [#6058] Recurse only if we have a meaningful converter, not the identity converter, + // which would cause a StackOverflowError, here! + else if (type != converter.fromType()) { Converter c = (Converter) converter; return c.from(pgFromString(c.fromType(), string)); }