sto usando SimpleJdbcTemplate e MapSqlParameterSource nel modo folowing:SimpleJdbcTemplate e nulli i parametri
MapSqlParameterSource parameterSource = new MapSqlParameterSource();
parameterSource.addValue("typeId", typeId, Types.BIGINT);
List<Long> ids = _jdbcTemplate.query(_selectIdByParameters, new EntityIdRowMapper(), parameterSource);
Quando typeId
(che è un Long
) è null
, quindi la query appare nel seguente modo:
SELECT id FROM XXX WHERE typeId = null
mentre mi sarei aspettato di generare
SELECT id FROM XXX WHERE typeId IS NULL
Ho reported this issue e la risposta è stata che
Si dovrà fornire l'istruzione SQL appropriata, sulla base di parametri di query.
e di conseguenza il mio codice è pieno di assegni nulli.
C'è un modo più elegante di gestire parametri nulli inviati al SimpleJdbcTemplate
?
Funzionerà se si utilizza namedparameterjdbctemplate anziché simplejdbctemplate? –