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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top