zoukankan      html  css  js  c++  java
  • HIbernate二级缓存

    一、定义:

    二级缓存是进程或集群范围内的缓存,可以被所有的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("=========================");
        }
    复制代码

    输出结果如下:

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

  • 相关阅读:
    SPF(poj 1523) 割点入门
    从一个例子讲解拷贝构造函数与return
    还是引用
    引用的实质
    const
    三目运算符
    关于C语言链表的学习
    CS2013调试DLL
    fread与fwrite的自我理解
    可见字符与不可见字符
  • 原文地址:https://www.cnblogs.com/jingpeipei/p/5848027.html
Copyright © 2011-2022 走看看