diff --git a/src/main/java/fr/inra/oresing/rest/RelationalService.java b/src/main/java/fr/inra/oresing/rest/RelationalService.java index 513e23cb7288fd386da8b8b3887344bbc68a1032..1ebfb1dfd11d7a53cf823daa5be445460e9b950c 100644 --- a/src/main/java/fr/inra/oresing/rest/RelationalService.java +++ b/src/main/java/fr/inra/oresing/rest/RelationalService.java @@ -251,7 +251,10 @@ public class RelationalService implements InitializingBean, DisposableBean { String quotedViewName = sqlSchema.forReferenceType(referenceType).getSqlIdentifier(); String quotedViewIdColumnName = quoteSqlIdentifier(referenceType + "_id"); - selectClauseReferenceElements.add(quotedViewName + ".*"); + + application.getConfiguration().getReferences().get(referenceType).getColumns().keySet().stream() + .map(referenceColumn -> quotedViewName + "." + quoteSqlIdentifier(referenceColumn) + " as " + quoteSqlIdentifier(referenceType + "_" + referenceColumn)) + .forEach(selectClauseReferenceElements::add); fromClauseJoinElements.add("left outer join " + quotedViewName + " on " + dataTableName + "." + quotedViewIdColumnName + " = " + quotedViewName + "." + quotedViewIdColumnName); } diff --git a/src/test/resources/data/monsore/monsore.yaml b/src/test/resources/data/monsore/monsore.yaml index 369d80913a9a1200ac86fa8bc658ce836f9195e5..5cabd9e0a6065b7cbf4ebd8d8cb1fa925d9049ef 100644 --- a/src/test/resources/data/monsore/monsore.yaml +++ b/src/test/resources/data/monsore/monsore.yaml @@ -9,6 +9,7 @@ references: esp_nom: esp_definition_fr: esp_definition_en: + colonne_homonyme_entre_referentiels: projet: keyColumn: nom_key @@ -18,6 +19,7 @@ references: nom_en: definition_fr: definition_en: + colonne_homonyme_entre_referentiels: sites: keyColumn: chemin