HQL(Hibernate Query Language)提供更加丰富灵活、更为强大的查询能力; Hibernate查询语言
HQL是面向对象的查询语言,查询的主体是映射配置的持久化类及其属性
HQL更接近SQL语句查询语法;
HQL语句形式:
select ... from ... where ... group by ... having ... order by ...
最少只需要 from 就可以构成一个简单的HQL语句 ,这点与sql语句是不同的!
from指定的是语句查询主题------持久化类及其属性(而不是数据库表)
1.HQL是面向对象的查询语言,对Java类与属性大小写敏感
2.HQL对关键字不区分大小写
1. 通过session的createQuery()方法创建Query实例。
2. createQuery方法包含一个HQL语句参数,createQuery(hql)。就是要执行的查询语句。
3. 执行查询。
Query查询
1. Query接口的list()方法执行查询。
2. List方法返回的结果数据类型为java.util.List,List中存放符合查询条件的持久化对象。
where加限制条件:
比较运算
<> 不等 = null 与sql中的 is null相同 <> null is not null
范围运算:
[not] in (候选值列表)
[not] between 值一 and 值二
字符串模式匹配
like 关键字
通配符 % :任意个字符 _ :一个字符
集合运算
is [not] empty 集合【不】为空,不包含如何元素(一对多关系)
member of 元素属于集合