HQL(Hibernate Query Language)提供更加豐富靈活、更為強(qiáng)大的查詢能力; Hibernate查詢語言
HQL是面向?qū)ο蟮牟樵冋Z言,查詢的主體是映射配置的持久化類及其屬性
HQL更接近SQL語句查詢語法;
HQL語句形式:
select ... from ... where ... group by ... having ... order by ...
最少只需要 from 就可以構(gòu)成一個(gè)簡(jiǎn)單的HQL語句 ,這點(diǎn)與sql語句是不同的!
from指定的是語句查詢主題------持久化類及其屬性(而不是數(shù)據(jù)庫表)
1.HQL是面向?qū)ο蟮牟樵冋Z言,對(duì)Java類與屬性大小寫敏感
2.HQL對(duì)關(guān)鍵字不區(qū)分大小寫
1. 通過session的createQuery()方法創(chuàng)建Query實(shí)例。
2. createQuery方法包含一個(gè)HQL語句參數(shù),createQuery(hql)。就是要執(zhí)行的查詢語句。
3. 執(zhí)行查詢。
Query查詢
1. Query接口的list()方法執(zhí)行查詢。
2. List方法返回的結(jié)果數(shù)據(jù)類型為java.util.List,List中存放符合查詢條件的持久化對(duì)象。
where加限制條件:
比較運(yùn)算
<>?不等????=?null?與sql中的??is??null相同? <>? null??? is not null
范圍運(yùn)算:
[not] in (候選值列表)
[not] between?值一?and?值二
字符串模式匹配
like??關(guān)鍵字
通配符??%?:任意個(gè)字符?? _?:一個(gè)字符
集合運(yùn)算
is [not] empty??集合【不】為空,不包含如何元素(一對(duì)多關(guān)系)
member?of??元素屬于集合