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())