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()获取统计信息,有利于在调试时使用。

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