Вопрос
Пытаясь сделать вставку, у меня есть: jdbcTemplate.update (" вставить в .... " ;, новый объект [] {foo.getId (), foo.getName ()}) foo.getId () возвращает long, а getName () - строку. У меня есть "NUMBER" в качестве типа идентификатора в Oracle и varchar2 для поля имени.
Я получаю неизвестную проблему типа SQL. у метода update есть версия, в которой мне не нужно вводить типы SQL, но нужно ли, и если да, то как?
Решение
Я предполагаю, что вы имеете в виду Spring Framework JdbcTemplate class. Методы JdbcTemplate
попытаются угадать java.sql.Type для ссылок на значения, но, по-видимому, в этом случае неверно угадывает.
Есть несколько способов включить тип:
JdbcTemplate.update (String, Object [])
[javadoc] ( http://static.springframework.org/spring/docs/2.5.x/api/org/springframework /jdbc/core/JdbcTemplate.html#update(java.lang.String , java.lang.Object [])) указывает, что вы можете передать SqlParameterValue , состоящий из java.sql.Type и значение . р>
Кроме того, вы можете использовать JdbcTemplate.update (String, Object [], int [])
, передавая массив из java.sql.Type