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?

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top