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("=========================");
    }

輸出結果如下:

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM