hibernate資料查詢的幾種方式

2021-06-17 21:50:43 字數 858 閱讀 8487

1.使用主鍵id載入物件(load(),get());

2.通過物件導航,比如通過stu.getteam()得到team的例項;

3 使用hql;

4使用qbc(query by criteria)

5直接使用sql語句取得記錄集;

一般都使用後面三種方式.

注意.hql是物件導向的查詢.語法和sql是基本一樣的.不區分大小寫的,但是注意的是對與物件.必須遵循物件的大小寫.因為hql是對像查詢..同時我們必須清楚.hql只能取得物件,而不支援uid(update,insert.delete)

...........................................(具體的講解詳見查考書)

小結:hql功能很強大,適合各種情況,但是動態條件查詢構造起來很不方便.

criteria 最適合動態查詢,但不太適合統計查詢,qbe還不夠強大.只適合簡單的查詢.

nativesql可以實現特定的資料庫的sql.但是可移植性並不好.

針對web應用來說,大部分常規查詢都是動態條件查詢,所以首先criteria,並且h 3提供的detachedcriteria,可以在web層構造好detachedcriteria再進入session執行查詢.但是涉及到統計查詢和非常複雜的關聯查詢.criteria就無能為力了.這種情況下選擇使用hql.最後如果涉及到使用某些資料庫的特性的時候,就只有選擇nativesql了.

hql常用來進行實體檢索.這個時候要注意返回的list中的元素是實體還是實體陣列.如果hql進行實體屬性查詢,當查詢兩個以上的屬性時,list中的元素就是屬性陣列了.

qbc最大的用途在與動態查詢.它不會忽略配置檔案中的預先抓取策略.

使用本地sql檢索必須檢索物件的所有屬性.

hibernate資料查詢的幾種方式

1.使用主鍵id載入物件 load get 2.通過物件導航,比如通過stu.getteam 得到team的例項 3 使用hql 4使用qbc query by criteria 5直接使用sql語句取得記錄集 一般都使用後面三種方式.注意.hql是物件導向的查詢.語法和sql是基本一樣的.不區分大...

QBC資料查詢 hibernate之查詢語句

敘 之前介紹過hibernate的hql hibernate query language 的查詢資料方式,現在我學習記錄一下關於hibernate的另乙個查詢資料的方式 qbc,qbc資料查詢全稱是 query by criteria資料查詢 下面是我學習的筆記 qbc query by crit...

Hibernate 基於HQL實現資料查詢

hql hibernate query language hibernate特有的查詢語言 hql是基於物件的查詢語言,其語法與sql類似,但是他和sql的區別在於sql是面向表和字段的查詢,而hql是物件導向和屬性的查詢。需求1.查詢出所有的專案 test public void testfind...