JAVA-HQL-Query
1.HQL定义
(1)Hibernate Query Language
(2)面向对象
(3)查询对象:映射配置的持久化类和其属性
2.HQL查询语句
2.1.Select
2.1.1.返回结果的类型
(1)默认返回Object[],只选择一个属性时返回Object类型
(2)返回List类型的集合:通过new list()指定
(3)返回Map类型的集合:通过new map()指定,key值为索引,还可以设置别名
(4)返回自定义类型:在持久化类中自定义构造函数
2.1.2.通过distinct去除查询到的重复元素
2.2.from
(1)默认查询持久化类的属性,因此可以不用select
(2)可以查询到外键所对应的属性
(3)直接通过类名引用持久化类auto_import,当然,也可以通过其全限定名来引用
(4)通过as来设定别名,也可省略as
2.3.where
限定方式:
(1)比较运算
(2)范围运算: in(a,b) / between a and b
(3)字符串模式匹配: like % _
(4)逻辑运算
(5)集合运算: is [not] empty
(6)四则运算
(7)查询单个对象: query.uniqueResult();
2.4.group by
2.5.having
2.6.order by
对查询结果进行排序:
(1)desc
(2)asc
3.注意
(1)面向对象,对JAVA类与属性大小写敏感
(2)HQL语句对大小写不敏感,一般小写
4.Query接口
(1)Query创建: Query query = session.createQuery("hql");
(2)HQL语句执行: query.list();