[jOOQ/jOOQ#11716] Using embedded domains with POJO generation results in duplicate getters

This commit is contained in:
Lukas Eder 2024-09-02 13:57:55 +02:00
parent 865765d223
commit 3b10066935

View File

@ -5828,11 +5828,20 @@ public class JavaGenerator extends AbstractGenerator {
if (tableUdtOrEmbeddable instanceof TableDefinition) {
List<EmbeddableDefinition> embeddables = ((TableDefinition) tableUdtOrEmbeddable).getReferencedEmbeddables();
embeddablesLoop:
for (int i = 0; i < embeddables.size(); i++) {
EmbeddableDefinition embeddable = embeddables.get(i);
if (!generateImmutablePojos())
generateEmbeddablePojoSetter(embeddable, i, out);
generateEmbeddablePojoGetter(embeddable, i, out);
}
}
@ -6052,11 +6061,10 @@ public class JavaGenerator extends AbstractGenerator {
forEach(embeddable.getColumns(), (column, separator) -> {
if (kotlin)
out.tab(1).println("%s%s", getStrategy().getJavaMemberName(column.getReferencingColumn(), Mode.POJO), separator);
else if (generatePojosAsJavaRecordClasses())
out.println("%s%s%s", getStrategy().getJavaMemberName(column.getReferencingColumn(), Mode.POJO), emptyparens, separator);
else
out.println("%s%s%s", generatePojosAsJavaRecordClasses()
? getStrategy().getJavaMemberName(column.getReferencingColumn(), Mode.POJO)
: getStrategy().getJavaGetterName(column.getReferencingColumn(), Mode.POJO), emptyparens, separator
);
out.println("this.%s%s", getStrategy().getJavaMemberName(column.getReferencingColumn(), Mode.POJO), separator);
});
if (scala)
@ -6158,10 +6166,10 @@ public class JavaGenerator extends AbstractGenerator {
}
else {
for (EmbeddableColumnDefinition column : embeddable.getColumns()) {
final String s = getStrategy().getJavaSetterName(column.getReferencingColumn(), Mode.POJO);
final String s = getStrategy().getJavaMemberName(column.getReferencingColumn(), Mode.POJO);
final String g = getStrategy().getJavaGetterName(column, Mode.POJO);
out.println("%s(value.%s%s)%s", s, g, emptyparens, semicolon);
out.println("this.%s = value.%s%s%s", s, g, emptyparens, semicolon);
}
}