-
什么是hql
HQL是Hibernate Query Language的缩写
查全部 -
hql和sql区别/异同
HQL SQL
类名/属性 表名/列名
区分大小写,关键字不区分大小写 不区分大小写
别名 别名
?,从下标0开始计算位置(hibernate5之后不支持) ?,从顺序1开始计算位置
:命名参数 不支持:命名参数
面向对象的查询语言 面向结构查询语言
注1:QuerySyntaxException:book is not mapped -
处理返回的结果集
3.1 单个对象
select没有逗号
3.2 Object[]
b.bookId, b.bookName
3.3 Map
new Map(b.bookId as bid, b.bookName as bname)
3.4 new 构造方法(attr1,attr2)
new Book(b.bookId, b.price) -
hql中使用占位符
4.1 ?占位符
从下标0开始计算位置
hibernate5之后不再支持?占位符
4.2 :命名参数 -
连接查询
-
聚合函数
sum
avg
max
min
count -
hql分页
int page = 2;// 页码:page
int row = 10;// 每页行数:rows
query.setFirstResult((page - 1) * row);// 设置起始记录下标
query.setMaxResults(row);// 设置返回的最大结果集 -
BaseDAO
-
原生sql
hql实现不了的功能,可以考虑使用原生sql -
视图映射
SELECT @rowno:=@rowno + 1 AS rowno,a.* FROM tableName a,(SELECT @rowno:=0) b
hql
最新推荐文章于 2020-09-03 18:58:18 发布