<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天空是藍色的

    做好軟件為中國 #gcc -c helloworld.c -o helloworld.o //編譯目標文件 #gcc helloworld.o -o helloworld //編譯成可執行exe #helloworld //運行exe
    數據加載中……
    [轉載]session.flush()
    http://hairroot.blogchina.com/hairroot/1639334.html

    hibernate一個Session有一個Cache,cache屏蔽了應用程序直接去訪問數據庫,如果同一張table的同一row在先前已經被請求過,那么為何下次請求的時候還要去請求一次呢,把前面的cache住,再遇到這樣的請求直接返回cache里邊的即可。

    cache里邊的數據如果含有臟數據,需要跟數據庫同步(也就是需要hibernate來發送update, delete, insert),調用session.flush()達到此目的。一般情況下,hibernate在一個tx.commit()的時候會自動調用session.flush();也可以應用程序手動調用session.flush()來立刻將session的臟數據提交。
    Session session = HibernateSessionFactory.currentSession();
            Transaction tx = session.beginTransaction();
            try{
             Employee employee1 
    = (Employee)session.load(Employee.class, new Integer(3));
             System.out.println(employee1);
             employee1.setAge((byte)98);
             session.flush();//發送employee1的update給數據庫
    //         employee1.setAge((byte)43);
             tx.commit();//employee1已經被flush過,不會再被flush。如果把上面以行代碼注釋取消,還會再發一條update語句。
            }
            catch(HibernateException e){
                e.printStackTrace()
    ;
                tx.rollback();
            }

             tx 
    = session.beginTransaction();
            Employee employee2 = (Employee) session.load(Employee.class, new Integer(3));
            employee2.setGender('f');
            System.out.println(employee2);
            tx.commit();

    session.flush()的動作執行的時候,session中cache不會被清空,所以上面的employee2和employee1返回的還是同一個實例。

    那些被flush()過的對象不會在下次flush()的時候再被flush()一次,除非兩次flush()中間又產生了新的臟數據。

    我認為應用程序基本上不需要顯示去調用session.flush();而交給tx.commit()去做就可以了。原因是:手動調用session.flush()雖然是往數據庫提交了update等sql語句,但是這些update真正的commit是在tx.commit()執行的時候。所以手動session.flush()后,其他的session或者是其他的應用程序看到的仍然還是數據庫以前的數據。(可以試驗)

    - 作者: HairRoot 2005年05月24日, 星期二 20:02

    posted on 2006-01-09 12:15 bluesky 閱讀(1496) 評論(0)  編輯  收藏 所屬分類: 工作總結

    主站蜘蛛池模板: 91精品免费不卡在线观看| 丁香花在线观看免费观看图片 | 久久亚洲精品无码播放| 亚洲狠狠色丁香婷婷综合| 毛片a级毛片免费播放100| 亚洲AV成人无码天堂| 青青青国产在线观看免费| 亚洲制服在线观看| 1000部拍拍拍18勿入免费视频软件| 亚洲老熟女@TubeumTV| 91精品视频免费| 亚洲色一区二区三区四区| 岛国大片免费在线观看| 日韩国产精品亚洲а∨天堂免| 免费一级特黄特色大片在线| 免费一级特黄特色大片| 国产亚洲精品激情都市| 少妇人妻偷人精品免费视频| 亚洲中文字幕AV在天堂| 国产一区在线观看免费| 男女一边摸一边做爽的免费视频| 日韩亚洲人成在线综合日本 | 免费可以在线看A∨网站| 亚洲乱人伦中文字幕无码| 免费一级毛片在级播放| 中国一级毛片视频免费看| 亚洲精品福利网泷泽萝拉| 欧美a级在线现免费观看| 精品国产日韩亚洲一区91| 国产成人A亚洲精V品无码| 99久久精品免费视频| 在线a亚洲老鸭窝天堂av高清| 国产免费人成在线视频| a毛片在线免费观看| 国产成人精品亚洲日本在线| 亚洲国产婷婷香蕉久久久久久| 99视频有精品视频免费观看| 亚洲AV无码国产剧情| 国产AV无码专区亚洲AV毛网站| 一区二区无码免费视频网站| 杨幂最新免费特级毛片|