[jOOQ/jOOQ#2530] Fixed defining/referencing column names in embeddables

This commit is contained in:
Lukas Eder 2020-08-18 15:20:26 +02:00
parent c47897b514
commit 80e81e89aa
3 changed files with 10 additions and 10 deletions

View File

@ -1510,7 +1510,7 @@ public class JavaGenerator extends AbstractGenerator {
TypedElementDefinition<?> column = columns.get(i - 1);
if (column instanceof EmbeddableColumnDefinition)
column = ((EmbeddableColumnDefinition) column).getColumn();
column = ((EmbeddableColumnDefinition) column).getReferencingColumn();
final String colTypeFull = getJavaType(column.getType(resolver()));
final String colType = out.ref(colTypeFull);
@ -4438,7 +4438,7 @@ public class JavaGenerator extends AbstractGenerator {
final List<String> columnIds = new ArrayList<>();
for (EmbeddableColumnDefinition column : embeddable.getColumns())
columnIds.add(out.ref(getStrategy().getJavaIdentifier(column), colRefSegments(column)));
columnIds.add(out.ref(getStrategy().getJavaIdentifier(column.getReferencingColumn()), colRefSegments(column.getReferencingColumn())));
out.javadoc("The embeddable type <code>%s</code>.", embeddable.getOutputName());

View File

@ -44,13 +44,13 @@ public class DefaultEmbeddableColumnDefinition
extends AbstractTypedElementDefinition<EmbeddableDefinition>
implements EmbeddableColumnDefinition {
private final ColumnDefinition column;
private final ColumnDefinition referencingColumn;
private final int position;
public DefaultEmbeddableColumnDefinition(EmbeddableDefinition container, String name, ColumnDefinition column, int position) {
super(container, name, position, column.getDefinedType(), column.getComment());
public DefaultEmbeddableColumnDefinition(EmbeddableDefinition container, String definingColumnName, ColumnDefinition referencingColumn, int position) {
super(container, definingColumnName, position, referencingColumn.getDefinedType(), referencingColumn.getComment());
this.column = column;
this.referencingColumn = referencingColumn;
this.position = position;
}
@ -60,7 +60,7 @@ public class DefaultEmbeddableColumnDefinition
}
@Override
public final ColumnDefinition getColumn() {
return column;
public final ColumnDefinition getReferencingColumn() {
return referencingColumn;
}
}

View File

@ -46,8 +46,8 @@ package org.jooq.meta;
public interface EmbeddableColumnDefinition extends TypedElementDefinition<EmbeddableDefinition>, PositionedDefinition {
/**
* The backing column definition.
* The referencing column definition.
*/
ColumnDefinition getColumn();
ColumnDefinition getReferencingColumn();
}