Hibernate3.2二级缓存配置与分析

hibernate 二级缓存 SessionFactory级共享

实现为可插拔,通过修改cache.provider_class参数来改变;
CacheProvider和Cache接口来加入Hibernate不支持的缓存实现;
在hibernate.cfg.xml中加入:
<class-cache class="className" usage="read-only"/>
或在映射文件的class元素加入子元素:
<cache usage="read-write"/>
其中usage:read-only,read-write,nonstrict-read-write,transactional


Session的:sava(这个方法不适合native生成方式的主键);

update, savaOrUpdate,list,iterator,get,load会从二级缓存中取数据(iterator可能存在N+1次查询).

Query,Criteria(查询缓存) 由于命中率较低,所以hibernate缺省是关闭;修改cache.use_query_cache为
true打开查询缓存,并且调用query.setCacehable(true)或criteria.setCacheable(true).

SessionFactory中提供了evictXXX()方法用来清除缓存中的内容.

统计信息打开generate_statistics,用sessionFactory.getSatistics()获取统计信息,有利于在调试时使用。

你可能感兴趣的:(xml,Hibernate,cache)