HQL查询
一、HQL基本认识:
HQL(Hibernate Query Language)提供更加丰富灵活、更为强大的查询能力;
HQL更接近SQL语句查询语法;
[select/delete/update…][from…][where…][group by…][having…][order by…]
二、HQL查询:
简单查询:
(1)单一属性:
(2)多个属性:
实体对象查询:
(1)List方式:
(2)迭代方式:
两者区别:
list:默认情况下list每次都会发出sql语句,list会将数据放到缓存中,而不利用缓存
iterate:默认情况下iterate利用缓存,如果缓存中不存在会出现N+1问题
条件查询:
(1)like:返回list
(2)占位符方法:返回query
(3)方法链:
(4)使用参数名方式:
(5)获取日期的年和月:用date_format
(6)两个日期间数据的查询:
分页查询:
setFirstResult(),从0开始;
setMaxResults(),每页显示的记录数
对象导航查询:
连接查询:
连接查询分为内连接和外连接(左连接和右连接)
1.内连接:
2.左连接:
3.右连接:
统计查询:
查询班级名称和学生人数:string hql =
三、总结:
Hql是hibernate的核心查询,和sql差不多,目前学会了sql,linq,hql三种查询语言,现在学起来很轻松,多和以前学过的知识联系吧。