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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825425
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    很多程序需要在某個事務中獲取對象,然后將對象發送到界面層去操作,最后在一個新的事務保存所做的修改。 在高并發訪問的環境中使用這種方式,通常使用附帶版本信息的數據來保證這些“長“工作單元之間的隔離。

    Hibernate通過提供使用Session.update()Session.merge()方法 重新關聯脫管實例的辦法來支持這種模型。

    // in the first session
    Cat cat = (Cat) firstSession.load(Cat.class, catId);
    Cat potentialMate = new Cat();
    firstSession.save(potentialMate);
    // in a higher layer of the application
    cat.setMate(potentialMate);
    // later, in a new session
    secondSession.update(cat);  // update cat
    secondSession.update(mate); // update mate

    如果具有catId持久化標識的Cat之前已經被另一Session(secondSession)裝載了, 應用程序進行重關聯操作(reattach)的時候會拋出一個異常。

    如果你確定當前session沒有包含與之具有相同持久化標識的持久實例,使用update()。 如果想隨時合并你的的改動而不考慮session的狀態,使用merge()。 換句話說,在一個新session中通常第一個調用的是update()方法,以便保證重新關聯脫管(detached)對象的操作首先被執行。

    希望相關聯的脫管對象(通過引用“可到達”的脫管對象)的數據也要更新到數據庫時(并且也僅僅在這種情況), 應用程序需要對該相關聯的脫管對象單獨調用update() 當然這些可以自動完成,即通過使用傳播性持久化(transitive persistence),請看第 11.11 節 “傳播性持久化(transitive persistence)”。

    lock()方法也允許程序重新關聯某個對象到一個新session上。不過,該脫管(detached)的對象必須是沒有修改過的!

    //just reassociate:
    sess.lock(fritz, LockMode.NONE);
    //do a version check, then reassociate:
    sess.lock(izi, LockMode.READ);
    //do a version check, using SELECT ... FOR UPDATE, then reassociate:
    sess.lock(pk, LockMode.UPGRADE);

    請注意,lock()可以搭配多種LockMode, 更多信息請閱讀API文檔以及關于事務處理(transaction handling)的章節。重新關聯不是lock()的唯一用途。

    其他用于長時間工作單元的模型會在第 12.3 節 “樂觀并發控制(Optimistic concurrency control)”中討論。

    文章出處:http://docs.huihoo.com/framework/hibernate/reference-v3_zh-cn/objectstate.html

    posted on 2007-10-29 16:15 Ke 閱讀(332) 評論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 亚洲AV男人的天堂在线观看| 99久久精品国产亚洲| 中国亚洲呦女专区| 中文字幕免费在线| 亚洲一区二区三区电影| 99久在线国内在线播放免费观看| 情人伊人久久综合亚洲| 两个人看的www高清免费观看| 亚洲午夜福利在线观看| 青青操视频在线免费观看| 亚洲AV午夜成人片| 9420免费高清在线视频| 亚洲精品在线播放视频| 免费a级毛片高清视频不卡| 亚洲首页国产精品丝袜| 日本免费中文字幕在线看| 免费大片av手机看片| 亚洲啪啪综合AV一区| 四虎国产精品永久免费网址 | 亚洲a级片在线观看| 西西大胆无码视频免费| 亚洲av无码成人精品区一本二本| 国产乱子影视频上线免费观看| 日日躁狠狠躁狠狠爱免费视频| 亚洲女久久久噜噜噜熟女| 久久国产乱子伦精品免费看| 亚洲午夜电影在线观看| 日本一道综合久久aⅴ免费| 一级毛片免费观看不收费| 亚洲精品在线观看视频| 成人一a毛片免费视频| 人人公开免费超级碰碰碰视频| 国产日韩亚洲大尺度高清| 成人无码区免费A片视频WWW| 免费无码婬片aaa直播表情| 亚洲AV午夜成人片| 日韩在线天堂免费观看| 国产一级在线免费观看| 亚洲无吗在线视频| 亚洲乱色熟女一区二区三区丝袜| 国产啪精品视频网免费|