diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SimplePropertyRowMapper.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SimplePropertyRowMapper.java index 84b00cf21b3..5b40d3ce1ce 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SimplePropertyRowMapper.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SimplePropertyRowMapper.java @@ -130,12 +130,12 @@ public class SimplePropertyRowMapper implements RowMapper { String name = this.constructorParameterNames[i]; int index; try { - // Try direct name match first - index = rs.findColumn(name); + // Try common underscored name match first + index = rs.findColumn(JdbcUtils.convertPropertyNameToUnderscoreName(name)); } catch (SQLException ex) { - // Try underscored name match instead - index = rs.findColumn(JdbcUtils.convertPropertyNameToUnderscoreName(name)); + // Try direct name match (typically with camelCase) instead + index = rs.findColumn(name); } TypeDescriptor td = this.constructorParameterTypes[i]; Object value = JdbcUtils.getResultSetValue(rs, index, td.getType());