淺談Hibernate Hib檢索方式
在向大家詳細介紹五種Hibernate Hib檢索方式的使用場合和特點之前,首先讓大家了解下Hibernate Hib檢索方式,然后全面介紹。
Hibernate Hib檢索方式
1.導(dǎo)航對象圖檢索方式。通過已經(jīng)加載的對象,調(diào)用.iterator()方法可以得到order對象如果是首次執(zhí)行此方法,Hib會從數(shù)據(jù)庫加載關(guān)聯(lián)的order對象,否則就從緩存中得到。
2.OID檢索方式。通過session的get,load方法知道了OID的情況下可以使用
3.HQL檢索方式。使用面向?qū)ο蟮腍QL查詢語句session的find方法利用HQL來查詢
4.QBC檢索方式。利用QBCAPI來檢索它是封裝了基于字符串的查詢語句
5.本地的SQL檢索方式。使用本地數(shù)據(jù)庫的SQL查詢語句Hib會負責(zé)把檢索到的JDBC結(jié)果集映射為持久化對象圖。
五種Hibernate Hib檢索方式的使用場合和特點:
HQL:是面向?qū)ο蟮牟樵冋Z言,同SQL有些相似是Hib中最常用的方式。
◆查詢設(shè)定各種查詢條件。
◆支持投影查詢,檢索出對象的部分屬性。
◆支持分頁查詢,允許使用having和group by
◆提供內(nèi)制的聚集函數(shù),sum(),min(),max()
◆能調(diào)用用戶的自定義SQL
◆支持子查詢,嵌入式查詢
◆支持動態(tài)綁定參數(shù)
建議使用Query接口替換session的find方法。
- Query Q = session.createQuery("from customer as c where c.name = :
customerName" + "and c.age = :customerAge");- query.setString ("customerName" , "tom");
- query.setInteger("customerAge" , "21");
- list result = query.list();
【編輯推薦】