Hibernate-檢索策略

          Hibernate主要檢索策略主要有即時檢索, 延遲檢索, 批量檢索(batch-size), 迫切左外連接檢索(outer-join)。 即時檢索, 延遲檢索, 批量檢索分為類級別和級聯(lián)級別。 只有LOAD方法可以使用類級別的延遲檢索,get() 和 find()將忽略類級別的延遲檢索, 總使用即時檢索策略。 find()還同時忽略級聯(lián)級別的迫切左外連接檢索(一對多, 多對多情況下)。 LOAD()在類級別的延遲將建立一個代理對象。 set將一直設立一個代理對象(實現(xiàn)SET)然后用代理對象指向實際應用。 HIBERNATE.PROPERTIES中的 maz-fetch-depth可以指定迫切左外連接的層次結構。 如果不實用迫切左外連接, 則對每條級聯(lián)的檢索數(shù)據(jù)會產生一天SELECT語句, 這樣SELECT語句數(shù)目太多會影響性能, 但是外連接的過多, 會涉及到表與表之間的關聯(lián)等等, 需要 在SELECT數(shù)目與外連接上做一個權衡。 如果一個映射文件中有很多個SET, 只有一個SET 的OUTER-JOIN可以為TRUE(HIBERNATE實現(xiàn), 為了提高性能. 一般在類級別采用立即檢索, 在一對多, 或多對多情況下采用延遲檢索, 在一對一, 多對一下采用迫切左外連接檢索。 可以在代碼中指定檢索策略。 get()如果級聯(lián)的對象為空則返回NULL值。 為什么不才用SQL語言進行檢索? 需要封裝成對象, 檢查內存中有無重復的對象。 find()方法只能進行靜態(tài)查詢, 將被QUERY接口所取代!

          posted on 2006-08-28 08:40 Sheldon Sun 閱讀(354) 評論(1)  編輯  收藏

          評論

          # re: Hibernate-檢索策略 2008-05-21 16:22 受傷

          受傷  回復  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邵阳市| 新竹县| 松阳县| 启东市| 青冈县| 松潘县| 中卫市| 鄂温| 措美县| 水城县| 铅山县| 日照市| 宁河县| 达州市| 垦利县| 巴彦县| 荃湾区| 无棣县| 巧家县| 繁峙县| 深水埗区| 同心县| 潜山县| 东安县| 沽源县| 湖口县| 永胜县| 新营市| 杭锦旗| 怀仁县| 龙口市| 沾化县| 武城县| 宜丰县| 富阳市| 佳木斯市| 西乌珠穆沁旗| 苍山县| 徐水县| 西青区| 腾冲县|