Loading...

          java .net

          重溫Hibernate基礎(chǔ)--get/load的區(qū)別

          下了個Hibernate視頻教程聽,雖然一年多以前跟老師學(xué)過Hibernate,但現(xiàn)在聽聽還是有很多收獲的,發(fā)現(xiàn)自己的知識知道的都是些皮毛,用了很久的東西,知道怎么操作怎么用,但要說說它的所以然,搖搖頭,呵呵

          根據(jù)主鍵Id得到一個持久對象,Hibernate中有兩個方法,一個get,一個load,他們兩個參數(shù)相同,都返回一個Object

          它們的區(qū)別:
          執(zhí)行g(shù)et方法即時生成查詢sql去查詢數(shù)據(jù)庫得到相應(yīng)的pojo,如果數(shù)據(jù)庫中沒有相應(yīng)記錄,則返回null
          執(zhí)行l(wèi)oad方法不會即時產(chǎn)生sql語句,而是在用到返回的對象時采取查詢數(shù)據(jù)庫,也就是load方法有默認(rèn)的延遲加載,在執(zhí)行l(wèi)oad方法后返回的不是一個pojo對象,是pojo對象的一個代理(據(jù)說Hibernate是用代理的方式實現(xiàn)延遲加載的,這塊還迷糊),如果數(shù)據(jù)庫中沒有相應(yīng)記錄,load方法會拋出異常ObjectNotFoundException
          看了一下我們用MyEclipse hibernate工具通過數(shù)據(jù)庫生成的DAO類,它的findById方法是用的session.get()方法,這是即時獲得pojo對象,如果是load方法,在執(zhí)行完load后如果關(guān)閉了session,那在接下來用到這個pojo對象時恐怕會報session已關(guān)閉的錯誤。
          還有就是這兩個方法的第二個參數(shù)id,它必須是實現(xiàn)了java.io.Serializable接口,也就是可序列化的。

          今天好像是立冬,冬天到了,抓緊時間充充電,明天接著學(xué)...

          posted on 2008-11-07 10:15 閱讀(1989) 評論(2)  編輯  收藏 所屬分類: 學(xué)習(xí)java

          評論

          # re: 重溫Hibernate基礎(chǔ)--get/load的區(qū)別 2008-12-25 16:21 你還真是豬

          有沒有學(xué)會啊。亂寫。  回復(fù)  更多評論   

          # re: 重溫Hibernate基礎(chǔ)--get/load的區(qū)別 2008-12-25 17:44

          別光批評不指正啊  回復(fù)  更多評論   

          公告

          希望有一天

          我能用鼠標(biāo)雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導(dǎo)航

          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網(wǎng)絡(luò)

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 诸暨市| 定安县| 淮滨县| 泾阳县| 凤庆县| 襄樊市| 遂川县| 古浪县| 鹰潭市| 习水县| 彭阳县| 芮城县| 大安市| 汾西县| 金昌市| 祥云县| 城固县| 海南省| 呼玛县| 房山区| 自治县| 汝阳县| 怀宁县| 游戏| 汶川县| 沭阳县| 广宗县| 瑞昌市| 高雄市| 万安县| 玛多县| 灯塔市| 南安市| 修文县| 龙胜| 邳州市| 七台河市| 沂水县| 钟祥市| 星子县| 招远市|