2008-11-18 2 views
0

Попытка сделать вставку, у меня есть: jdbcTemplate.update ("insert into ....", new Object [] {foo.getId(), foo.getName()}) foo .getId() возвращает long, а getName() - String. У меня есть «НОМЕР» в качестве типа id в Oracle и varchar2 для поля имени.jdbcTemplate and Oracle 10

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

ответ

0

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