Я думаю, что вы используете неправильный метод на JdbcTemplate
. Единственный из update
методов, который может соответствовать вашему фрагменту кода, - это
int update(String sql, Object... args)
Если это так, вы передаете params
и key
как двухэлементный массив vargs, а JdbcTemplate
обрабатывает key
как обычные параметры связывания и неправильно его интерпретирует.
Единственный публичный update
метод на JdbcTemplate
, который принимает KeyHolder
- это
int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)
Так что вам нужно перефразировать ваш код, чтобы использовать это.