一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Hibernate的各種保存方式的區(qū)別(3)

 WindySky 2007-10-10
五,saveOrUpdateCopy,merge和update區(qū)別

  首先說明merge是用來代替saveOrUpdateCopy的,這個詳細見這里

  http://www./dreamstone/archive/2007/07/28/133053.html

  然后比較update和merge

  update的作用上邊說了,這里說一下merge的

  如果session中存在相同持久化標識(identifier)的實例,用用戶給出的對象的狀態(tài)覆蓋舊有的持久實例

  如果session沒有相應的持久實例,則嘗試從數(shù)據(jù)庫中加載,或創(chuàng)建新的持久化實例,最后返回該持久實例

  用戶給出的這個對象沒有被關聯(lián)到session上,它依舊是脫管的

  重點是最后一句:

  當我們使用update的時候,執(zhí)行完成后,我們提供的對象A的狀態(tài)變成持久化狀態(tài)

  但當我們使用merge的時候,執(zhí)行完成,我們提供的對象A還是脫管狀態(tài),hibernate或者new了一個B,或者檢索到

  一個持久對象B,并把我們提供的對象A的所有的值拷貝到這個B,執(zhí)行完成后B是持久狀態(tài),而我們提供的A還是托管狀態(tài)

  六,flush和update區(qū)別

  這兩個的區(qū)別好理解

  update操作的是在脫管狀態(tài)的對象

  而flush是操作的在持久狀態(tài)的對象。

  默認情況下,一個持久狀態(tài)的對象是不需要update的,只要你更改了對象的值,等待hibernate flush就自動保存到數(shù)據(jù)庫了。hibernate flush發(fā)生再幾種情況下:

  1,調(diào)用某些查詢的時候

  2,transaction commit的時候

  3,手動調(diào)用flush的時候

  七,lock和update區(qū)別

  update是把一個已經(jīng)更改過的脫管狀態(tài)的對象變成持久狀態(tài)

  lock是把一個沒有更改過的脫管狀態(tài)的對象變成持久狀態(tài)

  對應更改一個記錄的內(nèi)容,兩個的操作不同:

  update的操作步驟是:

 ?。?)更改脫管的對象->調(diào)用update

  lock的操作步驟是:

  (2)調(diào)用lock把對象從脫管狀態(tài)變成持久狀態(tài)——>更改持久狀態(tài)的對象的內(nèi)容——>等待flush或者手動flush

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩精品免费一区二区三区| 欧美乱视频一区二区三区| 夫妻性生活真人动作视频 | 丁香六月啪啪激情综合区| 国产精品午夜小视频观看| 午夜福利在线观看免费| 成人综合网视频在线观看| 日韩国产亚洲欧美激情| 亚洲视频在线观看免费中文字幕| 欧美一区二区三区99| 国产精品久久香蕉国产线| 精品精品国产自在久久高清| 欧美亚洲综合另类色妞| 91老熟妇嗷嗷叫太91| 日本加勒比在线观看不卡| 久久精品亚洲情色欧美| 色欧美一区二区三区在线| 国内精品伊人久久久av高清| 欧洲一级片一区二区三区| 殴美女美女大码性淫生活在线播放 | 亚洲熟妇av一区二区三区色堂 | 欧美日韩国产成人高潮| 暴力性生活在线免费视频| 亚洲成人免费天堂诱惑| 国产一区二区三区av在线| 精品国产丝袜一区二区| 亚洲国产精品av在线观看| 欧美激情一区二区亚洲专区| 国产女优视频一区二区| 在线一区二区免费的视频| 亚洲国产精品av在线观看| 国产丝袜极品黑色高跟鞋| 国产超碰在线观看免费| 97人妻精品一区二区三区男同| 欧美一级不卡视频在线观看| 国产成人午夜av一区二区| 又大又长又粗又黄国产| 日韩欧美一区二区亚洲| 少妇高潮呻吟浪语91| 免费一区二区三区少妇| 欧美做爰猛烈叫床大尺度|