標籤:
一、定義:
二級緩衝是進程或叢集範圍內的緩衝,可以被所有的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("========================="); }
輸出結果如下:
註:一級緩衝儲存的是記憶體對象的引用,二級緩衝中資料散裝,需重新封裝新的對象,所以兩個記憶體位址不同
Hibernate二級緩衝配置