iBatis Cachemodel для обработчика пользовательских типов - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь использовать модель кэша для кэширования результатов, возвращаемых процедурой. Но каждый раз, когда я обращаюсь к БД, он хранит «SERIALIZABLE NULL OBJECT», а во второй раз, когда я бью по БД, он сообщает об отсутствии кэша и сохраняет «SERIALIZABLE NULL OBJECT». Я использую iBatis 2 и вызываю процедуру. 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>

1 Ответ

0 голосов
/ 24 апреля 2020

Пожалуйста, добавьте flushOnExecute внутри элемента cacheModel:

<flushOnExecute  statement=""/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...