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

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

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

    posts - 167,  comments - 30,  trackbacks - 0
    在Hibernate中,對象有三種狀態:臨時狀態、持久狀態和游離狀態。

          臨時狀態:當new一個實體對象后,這個對象處于臨時狀態,即這個對象只是一個保存臨時數據的內存區域,如果沒有變量引用這個對象,則會被jre垃圾回收機制回收。這個對象所保存的數據與數據庫沒有任何關系,除非通過Session的save或者SaveOrUpdate把臨時對象與數據庫關聯,并把數據插入或者更新到數據庫,這個對象才轉換為持久對象。 
            例如:Emp e=new Emp();    //創建臨時對象 
                    e.setEmpno((long) 8888); 
                    e.setEName("mike"); 
                    ... 
                    EmpDAO d=new EmpDAO(); 
                    d.save(e);//持久化 
                     ...


           持久狀態: 持久化對象的實例在數據庫中有對應的記錄,并擁有一個持久化表示(ID)。對持久化對象進行delete操作后,數據庫中對應的記錄將被刪除,那么持久化對象與數據庫記錄不再存在對應關系,持久化對象變成臨時狀態。 
            持久化對象被修改變更后,不會馬上同步到數據庫,直到數據庫事務提交。在同步之前,持久化對象是臟的(Dirty)。
                例如: 
                  Emp e=new Emp(); //創建了臨時的對象 
                   EmpDAO edao= new empDAO(); 
                   e=edao.findbyEmpno((long) 7786);    //使對象與數據庫記錄對應,從而持久化 
                   e.setEname("新的名字");                     //修改了持久化對象,使之處于 Dirty 
                   ...... 
                   edao.saveorupdate(e);                      //保存,但是仍然 Dirty 
                   tran.commit();                             //提交,實現與數據庫同步,不再Dirty 
                   ......

     

           游離狀態:當Session進行了Close、Clear或者evict后,持久化對象雖然擁有持久化標識符和與數據庫對應記錄一致的值,但是因為會話已經消失,對象不在持久化管理之內,所以處于游離狀態(也叫:脫管狀態)。游離狀態的對象與臨時狀態對象是十分相似的,只是它還含有持久化標識。

              其中,持久化狀態的對象,簡稱為:PO 
              而臨時狀態和游離狀態的對象,簡稱為:VO


              1、通過get()或load()方法得到的實例都是持久化狀態的。 
              2、當把session關閉時,session緩存中的持久化對象也變成游離態

                 因關閉session而變成游離態的可以通過lock、save、update變成持久態 
              3、持久態實例可以通過調用delete()變成游離態 
                 而游離狀態的實例可以通過調用lock()或者replicate()進行持久化 
              4、save()和persist()將會引發SQL的insert,delete()會引發SQL的delete 
                 update()或merge()會引發SQL的update,對持久化實例的修改在刷新提交的時候會

                 被檢測到, 它會引發SQL的update 
                  saveOrUpdate()或者replicate ()會引發SQL的insert或者update

    posted on 2010-08-16 09:59 David1228 閱讀(335) 評論(0)  編輯  收藏 所屬分類: Hibernate/ibatis

    <2010年8月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章檔案

    新聞分類

    新聞檔案

    相冊

    收藏夾

    Java

    Linux知識相關

    Spring相關

    云計算/Linux/虛擬化技術/

    友情博客

    多線程并發編程

    開源技術

    持久層技術相關

    搜索

    •  

    積分與排名

    • 積分 - 359853
    • 排名 - 154

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 看免费毛片天天看| 亚洲综合中文字幕无线码| 国产精品亚洲lv粉色| 亚洲国产精品无码专区影院| 国产综合激情在线亚洲第一页| 免费高清在线影片一区| 免费国产在线观看| 亚洲精品无码久久久久sm| 国产精品成人免费观看| 亚洲日本va在线视频观看| 91av免费在线视频| 亚洲精品亚洲人成在线观看| 色播在线永久免费视频网站| 91久久精品国产免费直播| 99ri精品国产亚洲| 国产一卡二卡3卡四卡免费| 亚洲国产日韩成人综合天堂| 亚洲天堂视频在线观看| 男女污污污超污视频免费在线看| 99视频精品全部免费观看| 亚洲黄色一级毛片| 精品国产呦系列在线观看免费 | 免费国产怡红院在线观看| 国产精品亚洲va在线观看| 亚洲乱码国产一区网址| 免费91麻豆精品国产自产在线观看| 日韩在线免费电影| sss日本免费完整版在线观看| 国产一卡2卡3卡4卡无卡免费视频| 亚洲国产欧美日韩精品一区二区三区| 一级毛片在线免费看| 亚洲日本乱码在线观看| 麻豆视频免费观看| 香蕉视频在线观看免费| 久久精品亚洲综合专区| 国产精品视频免费一区二区| 牛牛在线精品免费视频观看| 亚洲Av熟妇高潮30p| 男女交性永久免费视频播放| 91福利免费网站在线观看| 亚洲一级毛片视频|