From fea01a5c53f3911197cccda971f201ef9916f886 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 1 Jul 2024 13:30:58 +0200 Subject: [PATCH] Use first column in case of duplicate columns. Also, fallback on column names when label is not present. See #1680 Original pull request #1825 --- .../data/jdbc/core/convert/RowDocumentResultSetExtractor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/RowDocumentResultSetExtractor.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/RowDocumentResultSetExtractor.java index bf200535d..bb1003f8b 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/RowDocumentResultSetExtractor.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/RowDocumentResultSetExtractor.java @@ -73,8 +73,8 @@ class RowDocumentResultSetExtractor { for (int i = 0; i < columnCount; i++) { Object rsv = JdbcUtils.getResultSetValue(resultSet, i + 1); - String columnName = md.getColumnLabel(i + 1); - Object old = document.put(columnName, rsv instanceof Array a ? a.getArray() : rsv); + String columnName = JdbcUtils.lookupColumnName(md, i+1); + Object old = document.putIfAbsent(columnName, rsv instanceof Array a ? a.getArray() : rsv); if (old != null) { log.warn(DUPLICATE_COLUMN_WARNING, columnName, i); }