Я использую SimpleJdbcTemplate и MapSqlParameterSource в на следующие пути:SimpleJdbcTemplate и нулевые параметры
MapSqlParameterSource parameterSource = new MapSqlParameterSource();
parameterSource.addValue("typeId", typeId, Types.BIGINT);
List<Long> ids = _jdbcTemplate.query(_selectIdByParameters, new EntityIdRowMapper(), parameterSource);
Когда typeId
(который является Long
) является null
, то запрос выглядит следующим образом:
SELECT id FROM XXX WHERE typeId = null
, тогда как я ожидал бы генерировать
SELECT id FROM XXX WHERE typeId IS NULL
Я reported this issue и ответ был, что
Вы должны предоставить соответствующее заявление SQL на основе ваших параметров запроса.
и, как следствие, мой код заполнен нулевыми чеками.
Есть ли более элегантный способ обработки нулевых параметров, отправленных на SimpleJdbcTemplate
?
Будет ли это работать, если вместо simplejdbctemplate используется namedparameterjdbctemplate? –