Hibernate的缓存机制
- 一级缓存:默认开启,session级缓存
- 二级缓存:没有默认开启,需要手动打开,并且,需要配置缓存组件,还要指定哪一个类使用二级缓存,二级缓存是sessionfactoy级缓存
- 查询缓存:打开查询缓存,在测试的时候也需要手动打开查询缓存
一级缓存
一级缓存默认打开,并在session中
二级缓存
在hibernate.cfg.xml文件中配置
配置后测试类查询的值会临时保存在factory中
<!-- 打开二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.internal.EhcacheRegionFactory</property>
<!-- 指定使用二级缓存的类 -->
<class-cache usage="read-only" class="测试类路径"/>
三级缓存
在hibernate.cfg.xml文件中配置
<!-- 打开查询缓存 -->
<property name="hibernate.cache.use_query_cache">true</property>
<!-- 在测试类手动打开查询缓存 -->
Query query=session.createQuery(" from Student");
query.setCacheable(true);
510

被折叠的 条评论
为什么被折叠?



