Pergunta

Tentando fazer uma inserção, eu tenho: jdbcTemplate.update ( "inserção em ....", new Object [] {foo.getId (), foo.getName ()}) foo.getId () retorna uma longa, e getNome () uma corda. Eu tenho "número" como o tipo de ID no Oracle, e varchar2 para o campo nome.

Estou ficando problema SQLTYPE desconhecido. o método de atualização tem uma versão onde eu não tenho que colocar nos tipos SQL, mas eu tenho que, em caso afirmativo, como?

Foi útil?

Solução

Eu estou supondo que você quer dizer a Spring Framework JdbcTemplate classe. Os métodos JdbcTemplate tentará adivinhar o java. sql.Type para referências de valor, mas aparentemente não é adivinhar corretamente neste caso.

Há um par de maneiras de incluir o tipo:

O 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 [])) indica que você pode passar casos SqlParameterValue , que consiste na java.sql.Type e um valor .

Como alternativa, você pode usar JdbcTemplate.update(String, Object[], int[]) passando uma série de java.sql.Type

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top