0

挿入を実行しようとすると、次のようになります。jdbcTemplate.update( "insert into ...."、new Object [] {foo.getId()、foo.getName()})foo.getId()はlongを返し、 getName()文字列。OracleのIDタイプとして「NUMBER」を使用し、名前フィールドにvarchar2を使用しています。

SQLtypeの不明な問題が発生しています。updateメソッドには、SQLタイプを入力する必要がないバージョンがありますが、入力する必要がありますか?入力する必要がある場合は、どのように入力しますか?

4

1 に答える 1

0

Spring Framework JdbcTemplateクラスを意味していると思います。JdbcTemplateメソッドは値参照の java.sql.Type を推測しようとします、この場合は正しく推測していないようです。

タイプを含める方法はいくつかあります。

[ 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 [])) は、 java.sql.Typevalueで構成されるSqlParameterValueインスタンスを渡すことができることを示します。

または、 java.sql.TypeJdbcTemplate.update(String, Object[], int[])の配列を渡すこともできます。

于 2008-11-18T22:56:39.403 に答える