Hibernate的二级缓存(SessionFaction的外置缓存)-----Helloword

1. 使用 Hibernate 二级缓存的步骤:

1). 加入二级缓存插件的 jar 包及配置文件:

I. 复制 \hibernate-release-4.2.4.Final\lib\optional\ehcache\*.jar 到当前 Hibrenate 应用的类路径下.
II. 复制 hibernate-release-4.2.4.Final\project\etc\ehcache.xml 到当前 WEB 应用的类路径下

2). 配置 hibernate.cfg.xml

I. 配置启用 hibernate 的二级缓存
<property name="cache.use_second_level_cache">true</property>

II. 配置hibernate二级缓存使用的产品
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>

III. 配置对哪些类使用 hibernate 的二级缓存
<class-cache usage="read-write" class="com.atguigu.hibernate.entities.Employee"/>

实际上也可以在 .hbm.xml 文件中配置对哪些类使用二级缓存, 及二级缓存的策略是什么. (优先推荐使用这种)
在<class>的标签里加一个这样的标签<cache usage="read-write"/>
测试代码:

@Test
    public void TestSecondLevelCache(){
        Employee employee=(Employee) session.get(Employee.class, 10);
        System.out.println(employee.getName());
        transaction.commit();
        session.close();

        session=sessionFactory.openSession();
        transaction=session.beginTransaction();

        Employee employee2=(Employee) session.get(Employee.class, 10);
        System.out.println(employee2.getName());

    }

测试效果:

INFO: HHH000232: Schema update complete
Hibernate:
    select
        employee0_.ID as ID1_1_0_,
        employee0_.NAME as NAME2_1_0_,
        employee0_.SALARY as SALARY3_1_0_,
        employee0_.EMAIL as EMAIL4_1_0_,
        employee0_.DEPT_ID as DEPT_ID5_1_0_
    from
        GG_EMPLOYEE employee0_
    where
        employee0_.ID=?
JJ
JJ
时间: 2024-10-25 20:03:21

Hibernate的二级缓存(SessionFaction的外置缓存)-----Helloword的相关文章

Hibernate之二级缓存

Hibernate缓存 缓存(Cache):计算机领域非常通用的概念.它介于应用程序和永久性数据存储源(如硬盘上的文件或数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能.缓存中的数据时数据存储源中数据的拷贝.缓存的物理介质通常是内存 Hibernate中提供了两个级别的缓存 第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存.这一级别的缓存有Hibernate管理的 第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围的缓

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Hibernate的二级缓存

与Session的一级缓存相对的是,SessionFactory也提供了相应的缓存机制(二级缓存).SessionFactory缓存可以依据功能和目的的不同而划分为内置缓存和外置缓存. SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的副本,而预定义SQL语句是在 Hibernate初始化阶段根据映射元数据推导出来的.SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义 SQL语句,因此SessionFa

Hibernate Cache :使用Ehcache作为Hibernate的二级缓存的配置说明

Ehcache介绍 Ehcache是一个快速的.轻量级Java应用缓存.Hibernate中就支持了Ehcache. http://ehcache.org/documentation/integrations/hibernate Hibernate与Ehcache集成 要完成Hibernate与Ehcache的集成,只需要按照下面几步操作即可完成. 1.下载Ehcache-core 包 可以在浏览器上输入网址:http://sourceforge.net/projects/ehcache/fil

【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示

网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要进入商品的详细信息页面,就像淘宝里面那样.那么每次点击都要去后台查询一下该商品的详细信息,就会发送相应的sql语句,每次刷新一下详细页面也会发sql语句,这样的话,性能肯定会受到很大的影响.那么使用Hibernate的二级缓存就可以解决这个问题. 有些人可能会想,我们可以使用重定向,这样的话,在用户第一次访问的时候把信息查出来放到session中,以后每次用户刷新就可以去session中拿了,这样就不用去数据库中

配置Hibernate的二级缓存

1.在applicationContex.xml文件里面添加二级缓存配置: <!-- 配置hibernate的sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"><ref bea

Hibernate的二级缓存策略

Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象. 2) 把获得的所有数据对象根据ID放入到第二级缓存中. 3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查:查不到,如果配置了二级缓存,那么从二级缓存中查:查不到,再查询数据库,把结果按照ID放入到缓存. 4) 删除.更新.增加数据的时候,同

SSH整合缓存之-Memcached作为hibernate的二级缓存

Hibernate本身不提供二级缓存,所以需要使用第三方插件来作为二级缓存:本次使用memcached作为Hiberbate的二级缓存:添加步骤如下: 一.需要安装memcached服务端 1. 下载memcached的windows稳定版, (本次测试使用下载memcached http://www.newasp.net/soft/63735.html)2. 在CMD下进入memcached解压路径:输入 memcached.exe -d install" 安装. 3. 再输入:memcach

hibernate(九) 二级缓存和事务级别详讲

序言 这算是hibernate的最后一篇文章了,下一系列会讲解Struts2的东西,然后说完Struts2,在到Spring,然后在写一个SSH如何整合的案例.之后就会在去讲SSM,在之后我自己的个人博客应该也差不多可以做出来了.基本上先这样定下来,开始完成hibernate的东西把.这章结束后,我会将我一些hibernate的资料奉上,供大家一起学习. ---WH 一.概述 这章总的分两大块来讲解, 第一大块,hibernate的事务管理.,对于hibernate的事务管理来说,如果之前学过数