ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Meindert" <meind...@pastelebusiness.com>
Subject RE: Retrieving wrong result out of the Cache.
Date Fri, 16 Mar 2007 10:09:42 GMT
I'm on version 2.2.0.638 and I'll do the upgrade to 2.3 now.

 

I read that;
iBATIS 2.2.0 is also available. iBATIS 2.2.0 is the last release that
includes the iBATIS DAO framework. After 2.2.0, the DAO iBATIS framework is
removed from the downloads. We suggest converting iBATIS framework DAOs to
the  <http://www.springframework.org> Spring Framework. 

 

Are there some tools/documentation on how to make the conversion?

 

 

  _____  

From: Jeff Butler [mailto:jeffgbutler@gmail.com] 
Sent: 16 March 2007 11:34 AM
To: user-java@ibatis.apache.org
Subject: Re: Retrieving wrong result out of the Cache.

 

What version of iBATIS are you using?  There was a problem with caching, but
it was fixed quite a while ago.

 

Jeff Butler



 

On 3/16/07, Meindert <meindert@pastelebusiness.com> wrote: 

Anyone who knows what I'm doing wrong or is encountering the same issue?

 

>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