Domanda
Sto provando a fare un inserto, ho: jdbcTemplate.update (" insert into .... " ;, new Object [] {foo.getId (), foo.getName ()}) foo.getId () restituisce un long e getName () una stringa. Ho " NUMBER " come id id in Oracle e varchar2 per il campo del nome.
Ricevo un problema sconosciuto con SQLtype. il metodo di aggiornamento ha una versione in cui non devo inserire i tipi SQL, ma devo, e se sì, come?
Soluzione
Suppongo che intendi Spring Framework classe JdbcTemplate . I metodi JdbcTemplate
tenteranno di indovinare java.sql.Type per riferimenti di valore, ma a quanto pare non sta indovinando correttamente in questo caso.
Esistono un paio di modi per includere il tipo:
Il 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 che puoi passare SqlParameterValue , costituito dalle java.sql.Type e un valore .
In alternativa, puoi usare JdbcTemplate.update (String, Object [], int [])
passando una matrice di java.sql.Type