パラメータを null に設定するとエラーが発生します。
この問題は、ojdbc14.jar の使用中にのみ発生します。ojdbc6.jar を使用する場合は問題ありません。
この設定は mybatis 構成 xml にあります
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
エラーメッセージは次のとおりです。
Caused by: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull
xmlのSQLは
<update id="rename" parameterType="Element">
update dsb_element t set t.elementname = #{elementName} where t.elementid = #{elementId}
</update>
それを呼び出すJavaは
com.my.Element ele = new Element();
ele.setElementId("some-id");
ele.setElementName(null);
sqlSession.update(getMyBatisId("rename"), element) ;
質問は:
それは ojdbc14.jar の問題ですか? もしそうなら、なぜですか?
#{elementName, jdbcType=VARCHAR2} を使用して解決できることはわかっていますが、私のプロジェクトにはこの問題がたくさんあり、間もなく期限が切れます。それらすべてを変更したくありません。