Question
En essayant de faire un insert, j'ai: jdbcTemplate.update ("insérer dans ....", nouvel objet [] {foo.getId (), foo.getName ()}) foo.getId () renvoie un long et getName () une chaîne. J'ai " NUMBER " en tant que type d'identifiant dans Oracle et varchar2 pour le champ de nom.
Je reçois un problème inconnu avec SQLtype. la méthode de mise à jour a une version où je n’ai pas besoin de mettre les types SQL, mais est-ce que je dois le faire, et si oui, comment?
La solution
Je suppose que vous voulez dire le Framework Spring JdbcTemplate . Les méthodes JdbcTemplate
tenteront de deviner java.sql.Type pour les références de valeur, mais apparemment, dans ce cas, il ne faut pas deviner correctement.
Il existe plusieurs façons d'inclure le type:
Le 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 [])) indique que vous pouvez transmettre SqlParameterValue , constituée des instances java.sql.Type et une valeur .
Vous pouvez également utiliser JdbcTemplate.update (String, Object [], int [])
en passant un tableau de java.sql.Type