jdbcTemplate и Oracle 10 - PullRequest
       15

jdbcTemplate и Oracle 10

0 голосов
/ 19 ноября 2008

Пытаясь сделать вставку, у меня есть: jdbcTemplate.update ("вставить в ....", новый объект [] {foo.getId (), foo.getName ()}) foo.getId () возвращает long, а getName () - строку. У меня "NUMBER" в качестве типа идентификатора в Oracle и varchar2 для поля имени.

Я получаю неизвестную проблему типа SQL. у метода update есть версия, в которой мне не нужно вводить типы SQL, но нужно ли, и если да, то как?

1 Ответ

0 голосов
/ 19 ноября 2008

Я предполагаю, что вы имеете в виду класс Spring Framework JdbcTemplate . Методы 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. Введите и значение .

В качестве альтернативы вы можете использовать JdbcTemplate.update(String, Object[], int[]), передавая массив java.sql.Type

...