Вопрос

Пытаясь сделать вставку, у меня есть: 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top