HCQL (Hibernate Criteria 查询语言)2024 年 8 月 29 日 | 阅读 3 分钟 Hibernate Criteria 查询语言 (HCQL) 用于根据特定条件获取记录。Criteria 接口提供了应用条件的方法,例如检索工资大于 50000 的表的所有记录等。 HCQL 的优点HCQL 提供了添加条件的方法,因此 java 程序员添加条件很容易。java 程序员可以在查询中添加许多条件。 Criteria 接口Criteria 接口提供了许多指定条件的方法。可以通过调用 Session 接口的 createCriteria() 方法来获取 Criteria 对象。 Session 接口的 createCriteria() 方法的语法Criteria 接口的常用方法如下 - public Criteria add(Criterion c) 用于添加约束。
- public Criteria addOrder(Order o) 指定排序。
- public Criteria setFirstResult(int firstResult) 指定要检索的第一个记录数。
- public Criteria setMaxResult(int totalResult) 指定要检索的记录总数。
- public List list() 返回包含对象的列表。
- public Criteria setProjection(Projection projection) 指定投影。
Restrictions 类Restrictions 类提供可用作 Criterion 的方法。Restrictions 类的常用方法如下 - public static SimpleExpression lt(String propertyName,Object value) 将 小于 约束设置为给定属性。
- public static SimpleExpression le(String propertyName,Object value) 将 小于或等于 约束设置为给定属性。
- public static SimpleExpression gt(String propertyName,Object value) 将 大于 约束设置为给定属性。
- public static SimpleExpression ge(String propertyName,Object value) 将 大于或等于 约束设置为给定属性。
- public static SimpleExpression ne(String propertyName,Object value) 将 不等于 约束设置为给定属性。
- public static SimpleExpression eq(String propertyName,Object value) 将 等于 约束设置为给定属性。
- public static Criterion between(String propertyName, Object low, Object high) 设置 之间 约束。
- public static SimpleExpression like(String propertyName, Object value) 将 like 约束设置为给定属性。
Order 类Order 类表示一个顺序。Restrictions 类的常用方法如下 - public static Order asc(String propertyName) 根据给定属性应用升序。
- public static Order desc(String propertyName) 根据给定属性应用降序。
Hibernate Criteria 查询语言示例这里给出了许多 HCQL 示例。 HCQL 示例:获取所有记录
HCQL 示例:获取第 10 到 20 条记录
HCQL 示例:获取工资大于 10000 的记录
HCQL 示例:根据工资按升序获取记录具有投影的 HCQL我们可以通过投影来获取特定列的数据,例如姓名等。让我们看一个简单的投影示例,它只打印表 NAME 列的数据。
|