Hibernate框架總結(四)
阿新 • • 發佈:2018-12-20
1 查詢總結
1.1 oid查詢-get
1.2 物件屬性導航查詢
1.3 HQL查詢
1.4 Criteria查詢
1.5 原生SQL
2 查詢--HQL語法
2.1 語法基礎
2.2 排序查詢
2.3 條件查詢
2.4 分頁查詢
2.5 聚合查詢
2.6 投影查詢
2.7 多表查詢
2.7.1 多表查詢影象表示
2.7.2 SQL
2.7.3 HQL
2.7.4 HQL 語法
內連線
(迫切)內連線
左外連線
右外連線
3 查詢--Criteria語法
3.1 語法
3.1.1 基本查詢
3.1.2 條件查詢
3.1.3 分頁查詢
3.1.4 排序查詢
3.1.5 統計查詢
3.2 離線查詢
3.2.1 非離線的查詢
3.2.2 離線的查詢
3.2.3 查詢演示
4 查詢優化
4.1 類級別查詢
get方法:沒有任何策略.呼叫即立即查詢資料庫載入資料.
load方法: 應用類級別的載入策略
lazy(預設值):true, 查詢類時,會返回代理物件.會在使用屬性時,根據關聯的session查詢資料庫.載入資料.
lazy:false. load方法會與get方法沒有任何區別.呼叫時即載入資料.
結論:為了提高效率.建議使用延遲載入(懶載入)
注意:使用懶載入時要確保,呼叫屬性載入資料時,session還是開啟的.不然會丟擲異常
4.2 關聯級別查詢
4.2.1 集合策略
4.2.2 關聯屬性策略
結論:為了提高效率.fetch的選擇上應選擇select. lazy的取值應選擇 true. 全部使用預設值.
no-session問題解決: 擴大session的作用範圍.
4.3 批量抓取