estoy usando SimpleJdbcTemplate y MapSqlParameterSource en la forma folowing:SimpleJdbcTemplate y nulos parámetros
MapSqlParameterSource parameterSource = new MapSqlParameterSource();
parameterSource.addValue("typeId", typeId, Types.BIGINT);
List<Long> ids = _jdbcTemplate.query(_selectIdByParameters, new EntityIdRowMapper(), parameterSource);
Cuando typeId
(que es un Long
) es null
, la consulta se ve de la siguiente manera:
SELECT id FROM XXX WHERE typeId = null
mientras que yo esperaría que genere
SELECT id FROM XXX WHERE typeId IS NULL
he reported this issue y la respuesta fue que
Usted tendrá que proporcionar la instrucción SQL adecuado en función de sus parámetros de consulta.
y como consecuencia mi código está lleno de verificaciones nulas.
¿Existe alguna forma más elegante de manejar los parámetros nulos enviados al SimpleJdbcTemplate
?
¿Funcionará, si se utiliza parameterjdbctemplate named en vez de simplejdbctemplate? –