1、定義:緩存
二級緩存是進程或集羣範圍內的緩存,能夠被全部的Session共享,是可配置的插件session
2、二級緩存原理圖測試
解析:每次從二級緩存中取出的對象,都是一個新的對象。spa
3、配置步驟以下:插件
同理:以員工類和部門類爲例code
① 引入jar包xml
② 關鍵點:對象
大配置Hibernate.cfg.xml開啓二級緩存blog
③ 在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("========================="); }
輸出結果以下:
注:一級緩存保存的是內存對象的引用,二級緩存中數據散裝,需從新封裝新的對象,因此兩個內存地址不一樣