From ffb94146670b5d437536e5a17df8cb02ce891c2f Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 1 May 2023 16:09:33 +0200 Subject: [PATCH] [jOOQ/jOOQ#13639] Fix a few regressions The new inverse foreign key code generation regressed on [jOOQ/jOOQ#9758] and [jOOQ/jOOQ#11032] --- .../java/org/jooq/codegen/DefaultGeneratorStrategy.java | 3 +++ .../java/org/jooq/codegen/GeneratorStrategyWrapper.java | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java index ba739929c0..147d10b93f 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java @@ -221,6 +221,9 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy { else if (definition instanceof ForeignKeyDefinition && asList(POSTGRES, SQLITE, YUGABYTEDB).contains(definition.getDatabase().getDialect().family())) return ((ForeignKeyDefinition) definition).getTable().getOutputName().toUpperCase(targetLocale) + "__" + definition.getOutputName().toUpperCase(targetLocale); + else if (definition instanceof InverseForeignKeyDefinition && asList(POSTGRES, SQLITE, YUGABYTEDB).contains(definition.getDatabase().getDialect().family())) + return ((InverseForeignKeyDefinition) definition).getReferencingTable().getOutputName().toUpperCase(targetLocale) + "__" + definition.getOutputName().toUpperCase(targetLocale); + // [#10481] Embeddables have a defining name (class name) and a referencing name (identifier name, member name). else if (definition instanceof EmbeddableDefinition) return ((EmbeddableDefinition) definition).getReferencingOutputName().toUpperCase(targetLocale); diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorStrategyWrapper.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorStrategyWrapper.java index cff0906bc1..b665608cc8 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorStrategyWrapper.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorStrategyWrapper.java @@ -64,6 +64,8 @@ import org.jooq.meta.ColumnDefinition; import org.jooq.meta.Definition; import org.jooq.meta.EnumDefinition; import org.jooq.meta.ForeignKeyDefinition; +import org.jooq.meta.InverseForeignKeyDefinition; +import org.jooq.meta.ManyToManyKeyDefinition; import org.jooq.meta.ParameterDefinition; import org.jooq.meta.RoutineDefinition; import org.jooq.meta.SchemaDefinition; @@ -214,7 +216,9 @@ class GeneratorStrategyWrapper extends AbstractDelegatingGeneratorStrategy { } // [#11032] Foreign keys produce implicit join methods that can collide with TableImpl methods - else if (definition instanceof ForeignKeyDefinition) { + else if (definition instanceof ForeignKeyDefinition + || definition instanceof InverseForeignKeyDefinition + || definition instanceof ManyToManyKeyDefinition) { reserved = reservedColumns(TableImpl.class, 0); }