ehcache缓存问题!配置好了,就是不能缓存,搞死人啊,

这是ehcache.xml文件:

<code><?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<diskStore path="java.io.tmpdir" />
<defaultCache maxElementsInMemory="10000" eternal="false"
overflowToDisk="true" timeToIdleSeconds="300" timeToLiveSeconds="180"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
<cache name="org.hibernate.cache.StandardQueryCache"
maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="300"
timeToLiveSeconds="4200" overflowToDisk="true" />
<cache name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="5000" eternal="true" timeToIdleSeconds="0"
timeToLiveSeconds="0" overflowToDisk="false" />
<cache name="org.yao.CopyOfJxrmBbsInfo" maxElementsInMemory="1000"
eternal="false" timeToIdleSeconds="100" timeToLiveSeconds="4200"
overflowToDisk="true" />

</ehcache>
</code>

这是hibernate.xml文件:

<code>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>


.
.
.
<mapping resource="org/test.hbm.xml" />
<class-cache class="org.test" usage="read-only"/>

</code>

这是测试java
<code>
Session session = HibernateSessionFactory.getSession();
try {
Query query = session.createQuery("from CopyOfJxrmBbsInfo");
query.setCacheable(true);
query.setMaxResults(10);
for(Iterator it=query.iterate();it.hasNext();){
CopyOfJxrmBbsInfo beans=(CopyOfJxrmBbsInfo) it.next();
System.out.println(beans.getId());
}

} catch (Exception e) {

}finally{
HibernateSessionFactory.closeSession();
}
</code>

他就是不缓存啊!,,,每执行一次,他都读数据库!

你可能感兴趣的:(ehcache)