From 03c7f29bc7f26c0936f91607af62f63b2e1cf914 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 28 Nov 2025 15:35:19 +0100 Subject: [PATCH] [jOOQ/jOOQ#19445] KotlinGenerator does not produce deepEquals/deepHashCode calls for jooq-postgres-extensions array types --- .../java/org/jooq/codegen/JavaGenerator.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java index ba44f6a2d1..1fc21da482 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -11711,21 +11711,29 @@ public class JavaGenerator extends AbstractGenerator { } protected boolean isObjectArrayType(String javaType) { - if (scala) + + // [#19445] ForcedTypes may use Java array type notation, despite using KotlinGenerator + if (javaType.endsWith("[]") && !javaType.equals("byte[]")) + return true; + else if (scala) return javaType.startsWith("scala.Array"); else if (kotlin) return javaType.startsWith("kotlin.Array"); else - return javaType.endsWith("[]") && !javaType.equals("byte[]"); + return false; } protected boolean isArrayType(String javaType) { - if (scala) + + // [#19445] ForcedTypes may use Java array type notation, despite using KotlinGenerator + if (javaType.endsWith("[]")) + return true; + else if (scala) return javaType.startsWith("scala.Array"); else if (kotlin) return javaType.startsWith("kotlin.Array") || javaType.equals("kotlin.ByteArray"); else - return javaType.endsWith("[]"); + return false; } protected String getArrayBaseType(String javaType) {