用于自定义类型处理程序的iBatis缓存模型

问题描述 投票:0回答:1

我正在尝试使用缓存模型来缓存过程返回的结果。但是,每次我访问数据库时,它都会存储“ SERIALIZABLE NULL OBJECT”,而第二次访问数据库时,它会显示高速缓存未命中并存储“ SERIALIZABLE NULL OBJECT”。我正在使用iBatis 2并调用procedure.XML文件,如下所示:

<cacheModel id="TestCache" type="MEMORY">
<flushInterval seconds="600"/>
<property value="10" name="size"/>
<property name="reference-type" value="WEAK"/>
</cacheModel>

    <parameterMap id="getParameters" class="map">
        <parameter property="result" javaType="com.package.dto.SomeDTO" jdbcType="ORACLECURSOR" mode="OUT" typeHandler="com.dao.SomeResultHandler"/>
        <parameter property="userId" jdbcType="NUMERIC" mode="IN" />
        <parameter property = "applicationDate" jdbcType="DATE" mode="IN"/>
    </parameterMap>

     <procedure id="getUserDetails" parameterMap="getParameters" cacheModel="TestCache">
        {call pkcp_BPS.Get_User_Details (?,?,?)} 
    </procedure>
java ibatis
1个回答
0
投票

请在您的cacheModel元素内添加flushOnExecute:

<flushOnExecute  statement=""/>
© www.soinside.com 2019 - 2024. All rights reserved.