Javadoc of methods:
1. NamedParameterJdbcOperations#queryForObject(String, SqlParameterSource, RowMapper<T>)
https://github.com/spring-projects/spring-framework/blob/main/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java#L270
2. NamedParameterJdbcOperations#queryForObject(String, Map<String,?>, RowMapper<T>)
https://github.com/spring-projects/spring-framework/blob/main/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java#L289
states that IncorrectResultSizeDataAccessException
is supposed to be thrown if the query does not return exactly one row, or does not return exactly one column in that row. But actually second part, about count of columns, is incorrect. Query can return as many columns as RowMapper can handle.
Looks like copy-paste error from methods which accept Class
instead of RowMapper
.
Affected version - latest release 5.3.11
Comment From: sbrannen
Good catch.
The Javadoc for all 4 queryForObject(...)
methods is incorrect.
The same applies to JdbcOperations
.
I'll fix that.