- 浏览: 819789 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (363)
- 2010年3月 (3)
- 2010年4月 (3)
- Java (116)
- ExtJs (22)
- EJB3.0 (11)
- JQuery (28)
- SqlServer (5)
- Oracle (17)
- hibernate (21)
- struts2 (14)
- php (10)
- JavaScript (11)
- jbpm (6)
- spring (24)
- lucene (2)
- ibatis (7)
- C# (8)
- mysql (11)
- json (3)
- webservice (3)
- 设计模式 (1)
- jdbc (1)
- servlet (2)
- ice (6)
- 日常软件问题 (2)
- 生活 (2)
- iphone (1)
- rest (3)
- ruby (2)
- linux (13)
- quartz (1)
- poi (1)
- redis (13)
- memcached (4)
- nosql (2)
- tomcat调优 (1)
- 项目管理 (0)
最新评论
-
天使建站:
jquery里和数组相关的操作 附带具体的实例 ...
jquery对象数组 -
Cy0941:
$('#formId').form('submit',...) ...
easyui的form表单提交处理 -
shmily2038:
swifth 写道楼主,,你的命令写错啦,,[root@ser ...
centos直接yum安装nginx -
swifth:
楼主,,你的命令写错啦,,[root@server ~]# y ...
centos直接yum安装nginx -
随遇而安DXX:
...
REST
Hibernate二级缓存也称为进程级的缓存或SessionFactory级的缓存。二级缓存是全局缓存,它可以被所有的session共享。二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存。
二级缓存的配置使用:
1.在crc下创建echcache.xml文件,其内容如下:
maxElementsInMemory属性用于指定缓存中最多可放多少个对象。
eternal属性指定缓存是否永久有效。
timeToIdleSeconds属性指定缓存多久未被使用便清理掉。
timeToLiveSeconds属性指定缓存的生命长度。
diskPersistent属性指定缓存是否被持久化到硬盘中,保存路径由<diskStore>标签指定。
2.修改hibernate.cfg.xml文件开启二级缓存。
3.指定哪些实体类使用缓存。经过第二步缓存是启用了,但是并没有被使用。它不会去自动把所有的实体都进行缓存了,而是需要手动指定哪个实体需要缓存,以及其缓存的策略。这里有两种方式,第一种是修改要使用缓存的实体的映射文件。如在User.hbm.xml中使用<cache>标签启用。
第二种方式是在hibernate.cfg.xml中使用<class-cache>标签指定实体类并启用。
<calss-cache>标签中的class属性指定要对哪个实体进行缓存,而usage属性与<cache>标签的相同,都指的是缓存策略,此值依实际需要而定,默认采用read-only。
二级缓存的配置使用:
1.在crc下创建echcache.xml文件,其内容如下:
<ehcache> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" eternal="false" overflowToDisk="true" timeToIdleSeconds="120" timeToLiveSeconds="120" diskPersistent="false" /> </ehcache>
maxElementsInMemory属性用于指定缓存中最多可放多少个对象。
eternal属性指定缓存是否永久有效。
timeToIdleSeconds属性指定缓存多久未被使用便清理掉。
timeToLiveSeconds属性指定缓存的生命长度。
diskPersistent属性指定缓存是否被持久化到硬盘中,保存路径由<diskStore>标签指定。
2.修改hibernate.cfg.xml文件开启二级缓存。
<hibernate-configuration> <session-factory> <!-- 开启二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true</property> <!-- 设置缓存提供者 --> <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <mapping resource="cn/ineeke/entity/User.hbm.xml"/> </session-factory> </hibernate-configuration>
3.指定哪些实体类使用缓存。经过第二步缓存是启用了,但是并没有被使用。它不会去自动把所有的实体都进行缓存了,而是需要手动指定哪个实体需要缓存,以及其缓存的策略。这里有两种方式,第一种是修改要使用缓存的实体的映射文件。如在User.hbm.xml中使用<cache>标签启用。
<hibernate-mapping> <class name="cn.ineeke.entity.User" table="t_user"> <cache usage="read-only"/> <id name="id"> <generator class="native"/> </id> <property name="name"/> </class> </hibernate-mapping>
第二种方式是在hibernate.cfg.xml中使用<class-cache>标签指定实体类并启用。
<hibernate-configuration> <session-factory> <!-- 开启二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true</property> <!-- 设置缓存提供者 --> <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <mapping resource="cn/ineeke/entity/User.hbm.xml"/> <!-- 指定哪些实体需要使用二级缓存 --> <class-cache class="cn.ineeke.entity.User" usage="read-only"/> </session-factory> </hibernate-configuration>
<calss-cache>标签中的class属性指定要对哪个实体进行缓存,而usage属性与<cache>标签的相同,都指的是缓存策略,此值依实际需要而定,默认采用read-only。
发表评论
-
hibernate是否只需要一个commonDao?
2014-01-15 13:15 1782在开发中,经常遇到一个项目只有一个dao(即 ... -
hibernate缓存介绍
2013-02-28 10:12 1030Hibernate 中提供了两级Cache,第一级别的缓存 ... -
hibernate主键生成策略介绍
2013-02-28 10:10 1050Assigned Assigned方式由程序生成主键 ... -
Spring2.5.6+Struts2.1.6+Hibernate3.2升级到Spring3.1.3+Struts2.3.4+Hibernate3.6Final
2012-11-02 19:50 15891. Struts2.3.4相对于Struts2. ... -
hibernate原生sql封装,报错信息:could not find setter for rownum_
2012-10-25 11:03 18339报错信息:could not find setter for ... -
Spring事务配置的五种方式
2012-10-03 22:15 1115前段时间对Spring的事务配置做了比较深入的研究,在此之间 ... -
hibernate SQLQuery实践指南
2012-07-06 17:16 1125hibernate SQLQuery实践指南 两个表(实体) ... -
json hibernate延迟加载问题
2011-08-31 11:41 1092JsonConfig jsonConfig = new Jso ... -
解决a different object with the same identifier value was already associated with
2011-08-25 09:25 2018解决a different object with the s ... -
hibernate query和Criteria分页查询的区别
2011-08-19 09:55 1842Query Q = session.createQuery(& ... -
hibernate一级缓存和二级缓存的区别
2011-07-04 09:36 1054缓存是介于应用程序和 ... -
org.hibernate.PersistentObjectException: detached entity passed to persist异常
2011-01-24 09:06 1709情形:用户注册,或则使用到 sessionFactory.ge ... -
数据库方言
2010-08-26 10:57 1458RDBMS 方言 DB2 org.hibernate. ... -
Java框架的下载地址
2010-08-26 10:15 1190hibernate的下载地址: http://sourcefo ... -
hibernate的timestamp类型处理
2010-08-05 13:19 1921数据库库表某字段是timestamp类型,而要对这个字段进行时 ... -
hibernate数据类型与OR映射
2010-08-05 13:16 13201、Hibernate 基本数据类型 Hibernate基 ... -
hql时间比较
2010-08-04 16:37 2565/** * 获取现在时间 * ... -
Ibatis关于null的处理
2010-07-12 12:29 2988使用Ibatis作为数据库持久层的人都有体会,Ibatis 对 ... -
hibernate分页
2010-06-30 15:34 1099public List<Content> find ... -
Hibernate Annotation简单实现
2010-04-21 15:38 2128<!--[if !supportLists]--> ...
相关推荐
为Spring集成的Hibernate配置二级缓存
传播智客,为Spring集成的Hibernate配置二级缓存、cache.xml
基于springboot最新版本2.1.4.RELEASE,采用jpa为dao层框架,配置redis(redisson)为hibernate的二级缓存。
主要讲解hibernate缓存的配置和和使用方法,以及一级缓存和二级缓存的定义和区别,和查询缓存的使用
NULL 博文链接:https://364232252.iteye.com/blog/2369161
此配置和包,是springMVC4.3.3 +spring4+hibernate5.1.3+二级缓存ehcache(不用可以关闭)+fastjson。 是正常运行的项目里拷出来的,方便大家使用。
hibernate5.1二级缓存包
hibernate4配置ehcache二级缓存,以及相关的jar都在源码中。
Hibernate二级缓存 在一个数据库系统中,如果缓存设置的合适,那么可以极大的提高系统的效率,Hibernate作为一个ORM工具 提供了缓存的机制,包括一级(Session级)缓存和二级(SessionFactory级)缓存。这里主要...
hibernate配置二三级缓存
一对一映射 hibernate优化配置一级二级缓存步骤 有图有真相
ehcache 二级缓存 配置使用的jar包 配置如下: <!-- 启用二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true <!-- 查询的二级缓存配置 --> <property name="hibernate....
学习hibernate的必备,提供一个简易的流程图,方便记忆和查找
文档中说明了Hibernate二级缓存的事务范围、进程范围、集群范围的缓存配置。主要针对进程范围EhCacheProvider进行讲解,及查询缓存的讲解。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行... Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存
Hibernate二级缓存架包及相应配置文件
查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存。 4) 删除、更新、增加数据的时候,同时更新缓存。 Hibernate的二级缓存策略,是针对于ID查询的缓存策略,对于...
Hibernate EhCache 二级缓存配置