Hib的檢索方式
1、導航對象圖檢索方式。通過已經加載的對象,調用.iterator()方法可以得到order對象如果是首次執行此方法,Hib會從數據庫加載關聯的order對象,否則就從緩存中得到。
2、OID檢索方式。通過session的get,load方法知道了OID的情況下可以使用
3、HQL檢索方式。使用面向對象的HQL查詢語句session的find方法利用HQL來查詢
4、QBC檢索方式。利用QBCAPI來檢索它是封裝了基于字符串的查詢語句
5、本地的SQL檢索方式。使用本地數據庫的SQL查詢語句Hib會負責把檢索到的JDBC結果集映射為持久化對象圖。
五種檢索方式的使用場合和特點:
HQL : 是面向對象的查詢語言,同SQL有些相似是Hib中最常用的方式。
查詢設定各種查詢條件。
支持投影查詢,檢索出對象的部分屬性。
支持分頁查詢,允許使用having和group by
提供內制的聚集函數,sum(),min(),max()
能調用用戶的自定義SQL
支持子查詢,嵌入式查詢
支持動態綁定參數
建議使用Query接口替換session的find方法。
QBC : QBCAPI提供了另一種方式,主要是Criteria接口、Criterion接口和Expression類
或是:
SQL :
采用HQL和QBC檢索時,Hib生成SQL語句適用所有數據庫。
下面的HQL查詢語句將檢索出所有的持久化對象:
1、查詢結果按照客戶姓名升序排列:
(T117)
原文轉自:http://www.anti-gravitydesign.com