谁能告诉我什么是错的? 我有两个程序和两个映射。一个工作正常,另一个失败。 这个工作正常:
<parameterMap id="mapping-descriptions" class="java.util.Map">
<parameter property="id" javaType="java.lang.Long" jdbcType="NUMBER" mode="IN"/>
<parameter property="lang" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="shortDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/>
<parameter property="fullDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="get-description"
parameterMap="mapping-descriptions">
{call COM_DESCRIPTION_PKG.get_desc(?,?,?,?)}
</procedure>
这个失败了:
<parameterMap id="mapping-description-modifiable" class="java.util.Map">
<parameter property="id" javaType="java.lang.Long" jdbcType="NUMBER" mode="INOUT"/>
<parameter property="lang" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="shortDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="fullDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
<parameter property="modify" javaType="boolean" jdbcType="NUMBER" mode="IN"/>
</parameterMap>
<procedure id="add-description"
parameterMap="mapping-description-modifiable">
{call COM_DESCRIPTION_PKG.add_desc(?,?,?,?,?)}
</procedure>
有这个例外:
--- The error occurred while executing update procedure.
--- Check the {call COM_DESCRIPTION_PKG.add_desc(?,?,?,?,?)}.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Invalid column type: -99999999
我无法理解第二个程序和/或其映射有什么问题。 “INOUT”会出现问题吗?
答案 0 :(得分:5)
我尝试传递默认值,但没有帮助
它正在运作!刚刚将id属性的jdbcType更改为NUMERIC,它已经工作了!不幸的是我不再需要它了。 :)
答案 1 :(得分:0)
您为INOUT参数传递的值是多少? 我的猜测是你需要为它提供一个默认值。