Hibernate3.2二级缓存配置与分析
hibernate 二级缓存 SessionFactory级共享 实现为可插拔,通过修改cache.provider_class参数来改变;?
CacheProvider和Cache接口来加入Hibernate不支持的缓存实现;?
在hibernate.cfg.xml中加入:?
<class-cache 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()获取统计信息,有利于在调试时使用。