91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hibernate的一級緩存

發布時間:2020-06-30 12:03:21 來源:網絡 閱讀:372 作者:奔跑吧爽爽 欄目:開發技術

Hibernate框架中共有兩級緩存. Session級別的緩存是屬于一級緩存,SessionFactory級別的緩存是二級緩存.

緩存:將數據庫或硬盤中的數據,存入到內存中.當下次使用的時候可以從內存中獲得,減少數據庫訪問次數.(優化)

1.什么是hibernate的一級緩存
在 Session 接口的實現中包含一系列的 Java 集合, 這些 Java 集合構成了 Session 緩存. 只要 Session 實例沒有結束生命周期, 存放在它緩存中的對象也不會結束生命周期.

2.一級緩存:生命周期與session一致.

3.程序測試

@Test
    public void test1(){
        Session s = null;
        Transaction tx = null;
        try{
            s = HibernateUtil.getSession();
            tx = s.beginTransaction();
            //發送查詢語句,并且把查詢出來的實體類對象存入Session的緩存之中。
            實體類 c1 = s.get(實體類.class, 94);
            System.out.println(c1);
            //會先去Session的緩存之中去查找,如果有就直接拿出來用。
            實體類 c2 = s.get(實體類.class, 94);
            System.out.println(c2);
            tx.commit();
        }catch(Exception e){
            tx.rollback();
        }finally{
            s.close();
        }
    }

4.快照機制

    @Test
    public void test2(){
        Session s = null;
        Transaction tx = null;
        try{
            s = HibernateUtil.getSession();
            tx = s.beginTransaction();
            實體類 c1 = s.get(實體類.class, 94);
            System.out.println(c1);//輸出客戶級別是:VIP客戶
            c1.setCustLevel("普通客戶");//修改客戶的級別是:普通客戶
            System.out.println(c1);//輸出客戶級別:普通客戶
            tx.commit();//默認在此時執行快照機制。用緩存和快照進行比較,如果不一致,使用緩存同步數據庫中的數據,同時刷新緩存和快照。
        }catch(Exception e){
            tx.rollback();
        }finally{
            s.close();
        }
    }.

hibernate的一級緩存

當執行到 tx.commit(); 默認在此時執行快照機制。用緩存和快照進行比較,如果不一致,使用緩存同步數據庫中的數據,同時刷新緩存和快照。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博白县| 兴仁县| 邮箱| 本溪市| 江阴市| 昔阳县| 浑源县| 福海县| 汝城县| 高阳县| 沂南县| 山阳县| 伊春市| 左贡县| 行唐县| 丰县| 廉江市| 新晃| 盘锦市| 嫩江县| 柳江县| 宜章县| 襄樊市| 恩平市| 固始县| 肇东市| 大名县| 山东| 绥阳县| 井研县| 毕节市| 巫山县| 丹棱县| 津市市| 襄城县| 扶余县| 阿城市| 子洲县| 修武县| 宁城县| 临武县|