一级缓存:
session级别的缓存。
二级缓存:
sessionFactory级别的缓存,可以跨越session存在。
load和iterator默认使用二级缓存。
list默认往二级缓存中加数据,但是查的时候不从二级缓存中取数据。
二级缓存适合放的对象:经常被访问、改动不大(不经常改动)、数量有限。
打开二级缓存:
1.hibernate.cfg.xml设置:(以OSCache为例)
<!-- 默认就是true --> <property name="cache.use_second_level_cache">true</property> <property name="cache.provider_class">org.hibernate.cache.OSCacheProvider</property>
2.为实体类添加@Cache注解,比如:
package com.test.hiberenate.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; @Entity @Cache(usage=CacheConcurrencyStrategy.READ_WRITE) public class Category { private int id; private String name; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
3. 缓存设置文件:oscache.properties
===================================================================
查询缓存:
如果query要用二级缓存,需要打开查询缓存
1.hibernate.cfg.xml设置:
<!-- 打开查询缓存(依赖于二级缓存),默认false --> <property name="cache.use_query_cache">true</property>
2.设置session的setCachable(true)方法来指明使用二级缓存
相关推荐
hibernate一级缓存和二级缓存的区别与联系
Hibernate一级缓存、二级缓存以及查询缓存实例
Hibernate二级缓存Hibernate二级缓存Hibernate二级缓存Hibernate二级缓存Hibernate二级缓存
Hibernate 一级缓存和二级缓存的区别
hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解hibernate 二级缓存详解
hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存
主要讲解hibernate缓存的配置和和使用方法,以及一级缓存和二级缓存的定义和区别,和查询缓存的使用
基于hibernate二级缓存使用的源码实例
Hibernate 二级缓存
hibernate二级缓存 ehcache
NULL 博文链接:https://12345678.iteye.com/blog/721910
hibernate二级缓存介绍及演示代码
用以介绍hibernate 框架的缓存机制
呈现了hibernate二级缓存 的基本用法 相信可参照相关文档 来学习
传播智客,为Spring集成的Hibernate配置二级缓存、cache.xml
为Spring集成的Hibernate配置二级缓存
hibernate二级缓存java包下载,在博客中有讲解,请观看
Hibernate一级缓存和二级缓存【内附二级缓存数据存储结构】
NULL 博文链接:https://364232252.iteye.com/blog/2369161