проблема с параметром ibatis in / out - PullRequest
2 голосов
/ 07 октября 2009

Может кто-нибудь сказать мне, что не так? У меня есть две процедуры и два сопоставления для них. Один работает нормально, а другой не получается. Этот работает нормально:

    <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"?

Ответы [ 2 ]

5 голосов
/ 14 октября 2009

Я пытался передать значение по умолчанию, но это не помогло


Это работает! Просто изменил jdbcType свойства id на NUMERIC и все заработало! К сожалению, мне это больше не нужно. :)

0 голосов
/ 12 октября 2009

Какое значение вы передаете для параметра INOUT? Я предполагаю, что вам нужно предоставить значение по умолчанию для него.

...