ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From JohannesK <johannes.kuus...@eficode.fi>
Subject Weird cache behaviour in iBatis
Date Wed, 16 Jan 2008 09:20:02 GMT

Hi

I'm having problems with the caching in iBatis. I'm running ibatis-2.3.0.677
with an Oracle 10g database. Basically if I remove a row in the DB through
iSQL*Plus, it is still present in the iBatis cache. Here's my
sqlMapConfig.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
	PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
	"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
	<settings cacheModelsEnabled="false" />
	<sqlMap resource="core/Test.xml" />
</sqlMapConfig>

Test.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
	PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
	"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap>
	<typeAlias type="fi.eficode.lila.core.Test" alias="Test" />
	
	<resultMap id="testResult" class="Test">
		<result property="id" column="Id" />
		<result property="name" column="Name" />
	</resultMap>
	
	
	<select id="getAllTests" resultMap="testResult">
		select * from Test
	</select>

	<insert id="insertTest" parameterClass="Test">
		INSERT INTO TEST
		VALUES (#id#, #name#)
	</insert>
</sqlMap>


When i run the insert query everything happens as expected and a row appears
in the table 'TEST' and also appears when i run the select query in Java.
Now if i delete the row through iSQL*Plus and run the select in Java again,
I still get the test object as a result. This happens even though I've
deleted the row, turned caching off in iBatis and even tried to call
SqlMapClient().flushDataCache().

What gives?
-- 
View this message in context: http://www.nabble.com/Weird-cache-behaviour-in-iBatis-tp14875443p14875443.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message