文章出處

一、定義:

二級緩存是進程或集群范圍內的緩存,可以被所有的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("=========================");
    }

輸出結果如下:

 

注:一級緩存保存的是內存對象的引用,二級緩存中數據散裝,需重新封裝新的對象,所以兩個內存地址不同

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()