Hibernate 查询语言 (HQL)

2024 年 8 月 29 日 | 阅读 2 分钟

Hibernate 查询语言 (HQL) 与 SQL (结构化查询语言) 相同,但它不依赖于数据库的表。在 HQL 中,我们使用类名而不是表名。因此,它是一种与数据库无关的查询语言。

HQL 的优势

HQL 有很多优点。 如下:

  • 数据库无关
  • 支持多态查询
  • Java 程序员易于学习

查询接口

它是 Hibernate 查询的面向对象表示。可以通过调用 Session 接口的 createQuery() 方法来获得 Query 对象。

查询接口提供了许多方法。 以下是常用的方法:

  1. public int executeUpdate() 用于执行更新或删除查询。
  2. public List list() 返回关系的列表形式的结果。
  3. public Query setFirstResult(int rowno) 指定从哪一行开始检索记录。
  4. public Query setMaxResult(int rowno) 指定要从关系(表)中检索的记录数。
  5. public Query setParameter(int position, Object value) 将值设置为 JDBC 样式的查询参数。
  6. public Query setParameter(String name, Object value) 将值设置为命名的查询参数。

HQL 获取所有记录的例子


HQL 获取带分页记录的例子


HQL 更新查询的例子


HQL 删除查询的例子

HQL 与聚合函数

你可以通过 HQL 调用 avg()、min()、max() 等聚合函数。 让我们看一些常见的例子

获取所有员工的总工资的例子


获取员工最高工资的例子


获取员工最低工资的例子


统计员工 ID 总数的例子


获取每个员工的平均工资的例子

下一主题HCQL