2

谁能告诉我怎么了?我有两个过程和两个映射。一个工作正常,另一个失败。这个工作正常:

    <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”会不会有问题?

4

2 回答 2

5

我试图传递一个默认值,但它没有帮助


它正在工作!只需将 id 属性的 jdbcType 更改为 NUMERIC 即可!不幸的是我不再需要它了。:)

于 2009-10-14T12:20:33.107 回答
0

您为 INOUT 参数传递了什么值?我的猜测是你需要为它提供一个默认值。

于 2009-10-12T08:32:15.227 回答