HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式.。它有如下功能:
在查询语句中设定各种查询条件;
支持投影查询, 即仅检索出对象的部分属性;
支持分页查询;
支持连接查询;
支持分组查询, 允许使用
HAVING 和 GROUP BY 关键字;
提供内置聚集函数, 如 sum(), min() 和 max();
支持子查询;
支持动态绑定参数;
能够调用 用户定义的 SQL 函数或标准的 SQL 函数。
HQL 查询包括以下步骤:
获取Hibernate Session对象。
编写HQL语句,
以HQL语句作为参数,调用Session的createQuery方法创建查询对象。
如果HQL语句包含参数,则调用Query的setXxx方法为参数赋值。
调用Query对象的list()或uniqueResult()方法返回查询结果列表(持久化实体集)
总结:
HQL && SQL区别: