1. 程式人生 > >Hibernate框架總結(四)

Hibernate框架總結(四)

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 批量抓取