ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Meindert" <meind...@pastelebusiness.com>
Subject Retrieving wrong result out of the Cache.
Date Wed, 14 Mar 2007 11:35:31 GMT
Hi there,

 

My cache is returning the wrong ID, for instance the statement

Select ID from X where ID=3 is returning not 3!

 

Here are the code sniplets I have that are producing the wrong data (after
the cache has been populated)

 

Requesting the employee with diary.getDiaryEmpId()=3

EmpName empName = (EmpName) queryForObject("selectEmpName",
diary.getDiaryEmpId());

 

The SQL

<cacheModel id="selectEmpNameCache" type="LRU">

    <flushInterval hours="12"/>

    <flushOnExecute statement="updateEmployee"/>

    <property name="cache-size" value="25"/>

</cacheModel>

  <select id="selectEmpName" parameterClass="int" resultClass="EmpName"
cacheModel="selectEmpNameCache">

    SELECT EmplMain.EmpId, CompanyId, EmplName, Surname, NickName, Code,
Email, Telephone1, Telephone2

       FROM EmplMain

       JOIN EmplProfile ON EmplProfile.EmpId = EmplMain.EmpId

       WHERE  EmplMain.EmpId=#value# AND EmplMain.IsActiveEmployee=1

  </select>

 

Results in fetching Employee out of cache

DEBUG [http-8084-Processor22] - Cache 'Employee.selectEmpNameCache':
retrieved object 'com.pastel.ess.domain.EmpName@1'

 

The resulting object has as Empid 1 and not 3!

All other field values are correct.

 

 

MEINDERT HOVING



 


Mime
View raw message