Hibernate的檢索方式(一)

 

1. OID檢索

2. HQL檢索

3. QBC檢索

4. 本地的SQL檢索

 

 

下面一一介紹一下:

 

OID索引:這個比較簡單,session.get()、session.load()

-----------------------------

HQL索引:使用面向對象的HQL語言進行查詢

 

 

HQL是一種面向對象的查詢語言,和SQL查詢語言有些類似

在Hibernate提供的各種檢索方式中,HQL是使用最廣的一種檢索方式

Query接口是HQL查詢接口,提供各種查詢功能

 

特點:

 

 

  * 在查詢語句中設定各種條件

  * 支持投影

  * 支持分頁

  * 支持連接查詢

  * 支持分組查詢

  * 支持內聚函數的查詢

  * 能夠調用用戶自己定義的SQL函數和標準SQL函數

  * 支持子查詢

  * 支持動態綁定參數

 

 

HQL實體查詢

注*:

1. HQL子句本身大小寫無關,但習慣將關鍵字小寫

2. where子句中給出的是類的屬性名而不是數據庫表字段名

3. HQL子句本身大小寫無關,但其中出現的類名和屬性名必須區分大小寫

4. HQL delete/update對緩存策略的影響,delete/update子句極有可能造成緩存同步上的障礙

 

where子句:HQL支持的各種運算符

比較運算符 =、<>、>=、<=、>、<、is null、is not null

範圍運算符 in、not in、between…and、not between…and、

字符串模式匹配運算符 like

邏輯運算符 and、or、not

 

 

 

 

 

 

 

使用別名查詢:as關鍵字用來指定別名,as關鍵字也可以省略

 

 

支持多態查詢:查詢出當前類以及所有子類的實例

 

 

 

 

檢索單個對象

list():返回List類型的查詢結果,返回所有滿足條件的對象

uniqueResult():返回單個對象

 

 

order by 子句

 
group by 子句

 

 

 

參數綁定

提供了各種參數的綁定方法:setString()、setInteger()、setBinary()、setBoolean()、setDate()、setTime()、setText()

 

HQL三個特殊的綁定參數方法

setParamter()綁定任意類型的參數

setProperties()用於把命名參數與一個對象的屬性值綁定的查詢

setEntity()把參數與持久化類的實例綁定

 

按參數位置綁定

 

按參數名稱綁定

 

 

實體更新

 


實體刪除

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章