JPA Criteria API介绍
Criteria API 是为实体及其持久状态构建查询的最常见方法之一。它只是定义 JPA 查询的另一种方法。
Criteria API 定义了一个独立于平台的标准查询,用 Java 编程语言编写。它是在 JPA 2.0 中引入的。这背后的主要目的是提供一种类型安全的方式来表达查询。
创建 Criteria 查询的步骤
要创建 Criteria 查询,请按照以下步骤操作:
- 通过在EntityManager接口的实例上调用getCriteriaBuilder()方法来创建CriteriaBuilder接口的对象。
EntityManager em = emf.createEntityManager();
CriteriaBuilder cb=em.getCriteriaBuilder();
- 现在,构建CriteriaQuery接口的实例来创建查询对象。
CriteriaQuery<StudentEntity> cq=cb.createQuery(StudentEntity.class);
- 从CriteriaQuery对象上的方法调用以设置查询根对象。
Root<StudentEntity> stud=cq.from(StudentEntity.class);
- 现在,调用 CriteriaQuery 对象的 select 方法来指定查询结果的类型。
CriteriaQuery<StudentEntity> select = cq.select(stud);
- 创建 Query 接口的实例并指定用于访问数据库记录的方法类型
Query q = em.createQuery(select);
- 现在,通过调用查询接口的方法来控制查询的执行。
List<StudentEntity> list = q.getResultList();
Criteria API 查询子句的方法
以下是具有相应接口和方法的子句列表。
条件 | Criteria API接口 | 方法 |
---|---|---|
SELECT | CriteriaQuery | select() |
FROM | AbstractQuery | from() |
WHERE | AbstractQuery | where() |
ORDER BY | CriteriaQuery | orderBy() |
GROUP BY | AbstractQuery | groupBy() |
HAVING | AbstractQuery | having() |
注意:CriteriaQuery 接口是 AbstractQuery 接口的子接口
热门文章
优秀文章