From 64e113261a5f885d76381ce773971785a9db1322 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 29 Apr 2021 16:55:01 +0200 Subject: [PATCH] [jOOQ/jOOQ#10287] Fix --- .../org/jooq/codegen/AbstractGenerator.java | 2 +- .../java/org/jooq/codegen/JavaGenerator.java | 21 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java index 1fb150fca4..6d125d560c 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java @@ -598,7 +598,7 @@ abstract class AbstractGenerator implements Generator { @Override public boolean generateImmutableInterfaces() { - return generateImmutableInterfaces || (generateInterfaces && generateImmutablePojos); + return generateImmutableInterfaces || (generateInterfaces && (generateImmutablePojos || generatePojosAsJavaRecordClasses)); } @Override 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 b89aee80e3..6718473cae 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -4550,22 +4550,25 @@ public class JavaGenerator extends AbstractGenerator { if (!generateImmutablePojos() && !generatePojosAsJavaRecordClasses()) generatePojoDefaultConstructor(tableUdtOrEmbeddable, out); - if (!kotlin && !generatePojosAsJavaRecordClasses()) { + if (!kotlin) { + if (!generatePojosAsJavaRecordClasses()) { - // [#1363] [#7055] copy constructor - generatePojoCopyConstructor(tableUdtOrEmbeddable, out); + // [#1363] [#7055] copy constructor + generatePojoCopyConstructor(tableUdtOrEmbeddable, out); - // Multi-constructor - generatePojoMultiConstructor(tableUdtOrEmbeddable, out); + // Multi-constructor + generatePojoMultiConstructor(tableUdtOrEmbeddable, out); + } List> elements = getTypedElements(tableUdtOrEmbeddable); for (int i = 0; i < elements.size(); i++) { TypedElementDefinition column = elements.get(i); - if (tableUdtOrEmbeddable instanceof TableDefinition) - generatePojoGetter(column, i, out); - else - generateUDTPojoGetter(column, i, out); + if (!generatePojosAsJavaRecordClasses() || generateInterfaces()) + if (tableUdtOrEmbeddable instanceof TableDefinition) + generatePojoGetter(column, i, out); + else + generateUDTPojoGetter(column, i, out); // Setter if (!generateImmutablePojos())