Hibernate中HQL函式彙總及其說明

2021-08-15 12:25:29 字數 2421 閱讀 3536

criteria查詢對查詢條件進行了物件導向封裝,符合程式設計人員的思維方式,不過hql(hibernate query language)查詢提供了更加豐富的和靈活的查詢特性,因此hibernate將hql查詢方式立為官方推薦的標準查詢方式,hql查詢在涵蓋criteria查詢的所有功能的前提下,提供了類似標準sql語句的查詢方式,同時也提供了更加物件導向的封裝。以下就是hql的一些常用函式,有了這些函式,我們就可以擁有更多的靈活性,比如hql如何取餘,hql如何返回集合的最值,hql字串處理,hql時間、日期處理等。

函式名稱

說明型別

支援使用方法

備註abs(n)

取絕對值

數學函式

jpaql hql

abs(column_name[數字型別物件屬性])

sqrt(n)

取平方根

數學函式

jpaql hql

sqrt(column_name[數字型別物件屬性])

mod(x,y)

取餘數數學函式

jpaql hql

mod([物件屬性(數字)或值],[物件屬性(數字)或值])

數字必須是整型,返回引數1/引數2得的餘數

size(c)

方法集合內物件數量

集合函式

jpaql hql

minelement(c)

返回集合中最小元素

集合函式

hqlmaxelement(c)

返回集合中最大元素

集合函式

hqlminindex(c)

返回索引集合最小索引

集合函式

hqlmaxindex(c)

返回索引集合最大索引

集合函式

hqlmax(n)

返回最大值

集合函式

jpqhql hql

min(n)

返回最小值

集合函式

jpqhql hql

count(n)

返回計數

集合函式

jpqhql hql

concat(s1,s2)

連線連個字串

字串函式

jpqhql hql

concat([物件屬性],[物件屬性])

substring(s,offset,length)

返回子串

字串函式

jpqhql hql

substring([要擷取的字串屬性字段],開始位置,擷取長度)

trim([[both/leading/trailing]] char from s)

預設去掉字串兩面的空格

字串函式

jpqhql hql

trim([字串物件屬性列])

將字段兩端的空格去掉

lower(s)

小寫字串函式

jpqhql hql

lower([字串物件屬性列])

將該列結果含有的字母全部大寫

upper(s)

大寫字串函式

jpqhql hql

upper([字串物件屬性列])

將該列結果含有的字母全部大寫 

length(s)

返回字串長度

字串函式

jpqhql hql

length(欄位名)

返回字段內容的長度,包括數字。null值返回null.

current_date()

返回資料庫當前日期

時間函式

jpaql hql

current_date()

返回資料庫當前日期

current_time()

時間時間函式

jpaql hql

current_time()

返回資料庫當前時間

second(d)

從日期中提取具體秒

時間函式

hqlsecond(時間字段)

空的時候返回null

minute(d)

從日期中提取具體分

時間函式

hqlminute(時間字段)

空的時候返回null

hour(d)

從日期中提取具體小時

時間函式

hqlhour(時間字段

空的時候返回null

day(d)

從日期中提取具體天

時間函式

hqlday(時間字段)

空的時候返回null

month(d)

從日期中提取具體月

時間函式

hqlmonth(時間字段)

空的時候返回null

year(d)

從日期中提取具體年

時間函式

hqlyear(時間字段)

空的時候返回null

Hibernate中HQL函式彙總及其說明

criteria查詢對查詢條件進行了物件導向封裝,符合程式設計人員的思維方式,不過hql hibernate query language 查詢提供了更加豐富的和靈活的查詢特性,因此hibernate將hql查詢方式立為官方推薦的標準查詢方式,hql查詢在涵蓋criteria查詢的所有功能的前提下,...

Hibernate中的HQL查詢語句

hibernate查詢語言是物件導向的查詢語言,其結構與sql查詢類似,不同的是,hql查詢的主體是實體化類而不是資料表。hql差詢提供了一種應用與資料庫之間的抽象,從而提高了可移植性。hql查詢的基本事例 query query session.createquery select new use...

hibernate多表查詢HQL

innerjoin 內連線 left outerjoin 左外連線 right outerjoin 右外連線 fulljoin 全連線,並不常用 sql中的條件用on即 leftjoin.on.hql中的條件用with即 leftjoin.with.語句innerjoin,left outerjoi...