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

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

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

    Asktalk

    天行健,君子以自強不息!
    posts - 21, comments - 79, trackbacks - 0, articles - 2
      BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

    Hibernate深入研究3-1

    Posted on 2006-01-18 18:26 Asktalk 閱讀(3832) 評論(2)  編輯  收藏 所屬分類: Jdbc/Hibernate3/EJB3

    Hibernate中有三種狀態,對它的深入理解,才能更好的理解hibernate的運行機理,剛開始不太注意這些概念,后來發現它是重要的。對于理解hibernateJVMsql的關系有更好的理解。對于需要持久化的JAVA對象,在它的生命周期中有三種狀態,而且互相轉化。

    1,  臨時狀態(Transient):new創建的對象,它沒有持久化,沒有處于Session中,處于此狀態的對象叫臨時對象;

    2,  持久化狀態(Persistent):已經持久化,加入到了Session緩存中。如通過hibernate語句保存的對象。處于此狀態的對象叫持久對象;

    3,  游離狀態(Detached):持久化對象脫離了Session的對象。如Session緩存被清空的對象。
    特點:已經持久化,但不在
    Session緩存中。處于此狀態的對象叫游離對象;

    ×√

    臨時狀態

    Transient)

    持久化狀態

    Persistent)

    游離狀態

    Detached)

    是否處于Session緩存中

    ×

    ×

    數據庫中是否有對應記錄

    ×

     

     

     

     

     

    hibernate3.gif
    游離對象和臨時對象異同:

    兩者都不會被Session關聯,對象屬性和數據庫可能不一致;

    游離對象有持久化對象關閉Session而轉化而來,在內存中還有對象所以此時就變成游離狀態了;

    Hibernate和
    SQL的關系:

    在操作了hibernate的方法如save()等后,并沒有直接生成sql語句,去操作數據庫,而是把這些更新存入Session中,只有Session緩存要被更新時,底層的sql語句才能執行,數據存入數據庫;

    下面舉例說明:
    一,Session.save(user)運行機理。
    1,把User對象加入緩存中,使它變成持久化對象;
    2,選用映射文件指定的標識生成ID;
    3,在Session清理緩存時候執行:在底層生成一個insert sql語句,把對象存入數據庫;

    注意:在你執行Session.save(user)后,在Session清理緩存前,如果你修改user對象屬性值,那么最終存入數據庫的值將是最后修改的值;此過程中ID不能被修改;

    二,Session.delete(user)運行過程。
    如果user是持久化對象,則執行刪除操作,同樣底層數據庫的執行條件是:在Session清理緩存時候;
    如果user是游離對象:
    1,將user對象和Session關聯,使之成為持久化對象;
    2,然后按照user 是持久化對象的過程執行;


    評論

    # re: Hibernate深入研究3-1[未登錄]  回復  更多評論   

    2007-07-19 12:23 by lj
    老大,講錯了吧,對象都保存到數據庫里面了還能稱游離

    # re: Hibernate深入研究3-1  回復  更多評論   

    2007-12-29 11:40 by ttnnt
    存入數據庫之后,就不能是游離的了????

    開什么玩笑,當然可以是了,游離和數據庫沒必然的聯系
    主站蜘蛛池模板: 亚洲国产精品嫩草影院久久 | 中文字幕不卡高清免费| 日韩高清免费观看| 亚洲av综合av一区二区三区| 亚洲精品动漫免费二区| 亚洲一区二区无码偷拍| 精品国产免费观看一区| 亚洲精品无码你懂的| 日韩中文无码有码免费视频 | 亚欧洲精品在线视频免费观看 | 亚洲砖码砖专无区2023| 2021国产精品成人免费视频| 亚洲中文字幕久久无码| 精品久久免费视频| 一级做a毛片免费视频| 亚洲成亚洲乱码一二三四区软件| 久久精品成人免费看| 亚洲欧洲日本精品| 永久黄网站色视频免费| 一级毛片免费播放男男| 亚洲AV中文无码乱人伦下载| 114级毛片免费观看| 在线观看亚洲AV日韩A∨| 亚洲A∨精品一区二区三区| 91福利免费网站在线观看| 亚洲视频国产视频| 国产自产拍精品视频免费看| 国产精品九九久久免费视频 | 最近免费中文字幕高清大全 | 久久亚洲精品专区蓝色区| 免费国产综合视频在线看| 东方aⅴ免费观看久久av| 亚洲综合区图片小说区| 国产成人免费A在线视频| 在线观看免费无码视频| 亚洲另类精品xxxx人妖| 婷婷综合缴情亚洲狠狠尤物| 日韩免费无码一区二区三区 | a毛看片免费观看视频| 亚洲免费在线视频观看| 亚洲狠狠爱综合影院婷婷|