博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate二级缓存配置
阅读量:4640 次
发布时间:2019-06-09

本文共 1361 字,大约阅读时间需要 4 分钟。

一、定义:

二级缓存是进程或集群范围内的缓存,可以被所有的Session共享,是可配置的插件

二、二级缓存原理图

 

解析:每次从二级缓存中取出的对象,都是一个新的对象。

 

三、配置步骤如下:

同理:以员工类和部门类为例

① 引入jar包

 

② 关键点:

大配置Hibernate.cfg.xml开启二级缓存

③ 在src下添加ehcache.xml文件,从etc获取文件即可。

④测试二级缓存(数据散装的特点)

public class Test1 {    Session session;    Transaction tx;         Session session2;    Transaction tx2;    @After    public void afterTest(){        tx.commit();        HibernateUtil.CloseSession();    }    @Before    public void initData(){        session=HibernateUtil.getSession();        tx=session.beginTransaction();    }        /*     * 二级缓存     */    @Test    public void twoTest(){        session=HibernateUtil.getSession();        tx=session.beginTransaction();                Emp emp=(Emp)session.get(Emp.class, 2);        System.out.println(emp);        tx.commit();        System.out.println("========================");        Emp emp2=(Emp)session.get(Emp.class, 2);        System.out.println(emp2);                System.out.println("========================");                        session2=HibernateUtil.getSession();        tx2=session2.beginTransaction();                Emp emp3=(Emp)session2.get(Emp.class, 2);        System.out.println(emp3);        tx2.commit();        System.out.println("=========================");    }

输出结果如下:

 

注:一级缓存保存的是内存对象的引用,二级缓存中数据散装,需重新封装新的对象,所以两个内存地址不同

转载于:https://www.cnblogs.com/hr1997/p/5848042.html

你可能感兴趣的文章
Top K
查看>>
C语言配置文件库iniparser
查看>>
sql STUFF用法
查看>>
1-1 用Python爬取豆瓣及IMDB上的电影信息
查看>>
关于解决session过期跳转到登陆页面并跳出iframe框架
查看>>
老黄历:编码式的统治策略
查看>>
HTML5 标准规范完成了
查看>>
使用Jenkins进行Android自动打包,自定义版本号等信息【转】
查看>>
[NOIP 2016普及组 No.1] 买铅笔
查看>>
单例模式(Singleton Pattern)
查看>>
由数字与字母组成的验证码的实现
查看>>
ResultSet自动关闭问题
查看>>
mvc 部分视图
查看>>
BZOJ3261: 最大异或和
查看>>
全端开发必备!10个最好的 Node.js MVC 框架
查看>>
Fabric远程自动化使用说明
查看>>
linux php命令安装
查看>>
热身赛应该做什么?
查看>>
动手实现读写锁
查看>>
HNOI2010 合唱队
查看>>