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("=========================");
        }
    复制代码

    输出结果如下:

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

  • 相关阅读:
    判断一个对象是否为空
    viewflipper的高度设置
    Android利用ViewFlipper实现屏幕切换动画效果
    锁屏状态下点亮屏幕,并弹出闹钟提示信息
    android如何取消闹铃
    luogu P1880(区间dp)
    luogu P2014 选课(树形dp)
    luogu P1122(树形dp)
    luogu P1352 (树形dp)
    luogu P1541 (dp)
  • 原文地址:https://www.cnblogs.com/WuXuanKun/p/5848057.html
Copyright © 2011-2022 走看看