HQL語句詳解

2021-07-22 17:55:14 字數 864 閱讀 9368

4.3 使用hql查詢

hibernate提供了異常強大的查詢體系,使用hibernate有多種查詢方式。可以選擇使用hibernate的hql查詢,或者使用條件查詢,甚至可以使用原生的sql查詢語句,此外還提供了一種資料過濾功能,這些都可用於篩選目標資料。

下面分別介紹hibernate的4種資料篩選方法:

4.3.1 hql查詢

hql是hibernate query language的縮寫,hql的語法很像sql的語法,但hql是一種物件導向的查詢語言。因此,sql的操作物件是資料表和列等資料物件,而hql的操作物件是類、例項、屬性等。

hql是完全物件導向的查詢語言,因此可以支援繼承和多型等特徵。

hql查詢依賴於query類,每個query例項對應乙個查詢物件。使用hql查詢可按如下步驟進行:

(1)獲取hibernate session物件;

(2)編寫hql語句;

(3)以hql語句作為引數,呼叫session的createquery方法建立查詢物件;

(4)如果hql語句包含引數,呼叫query的set***方法為引數賦值;

(5)呼叫query物件的list等方法遍歷查詢結果。

看下面的查詢示例:

public listfinduserbyaccountandid(string id, string account)

query query = getsession().createquery(hql);//查詢

query.setparameter(0, account);// 要查詢的第乙個值時account

if(stringutils.isnotblank(id))

return query.list();

}

HQL查詢語句

hql基本查詢 單屬性和多屬性查詢 listlist session.createquery select name,code from province list for int i 0 i將多個查詢分裝成物件 listlist1 session.createquery select new pr...

常用的HQL語句

1.hql更新 string hql update phuser set realname int row this.getsession createquery hql setstring 0,小李想 executeupdate phuser 類名 2.hql刪除 string hql delet...

hql簡單查詢語句

session中get 方法只能通過id來查詢結果 hibernate工具類的完善 hibernateutil public class hibernateutil static public static sessionfactory getsessionfactory public static...