Using JCS in Hibernate

xinxin2 03-09-11

Hi all,

I have a question about the JCS, since I haven't used it before, I don't know how it works.

We have a table in our database, and its data rarely changes, so it is good for caching. I tried to put <jcs-cache usage="read-write" /> to my .hbm.xml file, but I don't know how to test it to make sure its data is from cache not from database?

Thanks a lot!

2003-09-12 09:02

设置hibernate.show_sql true

2003-09-12 22:26

Thank you yehs220 for replying.

I tried what you said, but it always show me the SQL statements, so that means the data is from database? I did use <jcs-cache usage="nonstrict-read-write"/> in my .hbm.xml, I do not know what is wong with it? If you have a chance, could you take a look,

P.S, someone told me to turn on, I also tried this, it showed me something like "Cache new", don't know if the cache has been used.

Here is my .hbm.xml file

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"

<class name="com.hibernate.Alias" table="alias">
<jcs-cache usage="read-write"/>
<composite-id name="id">
<key-property name="firm" column="firm"/>
<key-property name="userid" column="userid"/>
<key-property name="alias" column="alias"/>

<property name="sub_client" column="sub_client"/>
<property name="update_ident" column="update_ident"/>

<!-- parsed in 10ms -->

Here is the code I load the object:

public void listAlias() throws HibernateException
Session session = sessionFactory.openSession();

Iterator iter = session.iterate("from com.hibernate.Alias as alias");

while (iter.hasNext())
Alias myAlias = (Alias);
System.out.println("-------client is----" + myAlias.getClient());
System.out.println("-------subclient is----" + myAlias.getSub_client());







Thanks for helping!

2003-09-13 01:26

I found if I use session.load(.....), it will hit the cache, I don't know why iterator does not work here? anybody knows?