ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sven Boden <list...@pandora.be>
Subject Re: Flushing caches
Date Fri, 03 Mar 2006 18:56:42 GMT

No that's not possible, and probably will never be. There's a JIRA open 
for it http://issues.apache.org/jira/browse/IBATIS-222 which I would 
like to close as "won't fix" ;-).

The problem is that iBATIS has no concept of object identity. If you 
look at the caching code, caching is on the "level of the 
query/ResultSet", if you have iBATIS e.g. return 2 lists of objects, it 
may be well be that what for you is 1 and the same object may be cached 
twice (once in every list). Object identity is a concept that doesn't 
mix with Sql Mapping.


Reuben Firmin wrote:

> I've been wondering about a related question -- is there any way to 
> flush a cache for only one particular object?
> I'd like to be able to say "I've only modified this Foo bean, so flush 
> it, but keep the other Foo beans that are in the cache". Are there 
> problems associated with this that I'm missing?
> Sven Boden wrote:
>> Following should do the trick:
>> sqlMapClient.flushDataCache();
>> or
>> sqlMapClient.flushDataCache("cache id");
>> Look in the com.ibatis.sqlmap.client.SqlMapClient interface.
>> Regards,
>> Sven
>> Joe Wolf wrote:
>>> Is there any way to programmatically flush a cache?  I'm getting 
>>> ready to head down the road where I'll just call some bogus 
>>> statement in my SQL map that's in my cache's flushOnExecute list.  I 
>>> was wondering if there was a more straightforward way.  Thanks.
>>> -Joe  CompSci Resources, LLC

View raw message