diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java index b818d3e55d..0dc1cf4211 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java @@ -402,9 +402,16 @@ public class DefaultRecordMapper implements RecordMapperget()); Object typeClassifier = parameter.call("getType").call("getClassifier").get(); - parameterTypes[i] = (Class) getJavaClass.invoke(jvmClassMappingKt.get(), typeClassifier); + Class type = (Class) getJavaClass.invoke(jvmClassMappingKt.get(), typeClassifier); + parameterTypes[i] = type; + String name = parameter.call("getName").get(); + + // [#8004] Clean up kotlin field name for boolean types + if ("boolean".equalsIgnoreCase(type.getTypeName()) && name.startsWith("is")) { + name = getPropertyName(name); + } + parameterNames.add(name); } Constructor javaConstructor = (Constructor) this.type.getConstructor(parameterTypes);