当前位置: 首页 > 教程 > JPA >

JPA标准API简介

精华
小牛编辑
214浏览
2023-03-14

标准(Criteria)API是构建实体及其持久状态查询的最常用方法之一。 它只是定义JPA查询的另一种方法。

Criteria API定义了一个独立于平台的条件查询,用Java编程语言编写。 它是在JPA 2.0中引入的。 这背后的主要目的是提供一种类型安全的方式来表达查询。

创建条件查询的步骤

要创建标准查询,请按照以下步骤操作: -

第1步: 通过在EntityManager接口实例上调用getCriteriaBuilder()方法创建CriteriaBuilder接口的对象。

EntityManager em = emf.createEntityManager();  
CriteriaBuilder cb=em.getCriteriaBuilder();

第2步: 构建一个CriteriaQuery接口的实例来创建一个查询对象。

CriteriaQuery<StudentEntity> cq=cb.createQuery(StudentEntity.class);

第3步:CriteriaQuery对象的方法调用来设置查询根。

Root<StudentEntity> stud=cq.from(StudentEntity.class);

第4步: 调用CriteriaQuery对象的select()方法来指定查询结果的类型。

CriteriaQuery<StudentEntity> select = cq.select(stud);

第5步: 创建Query接口的实例并指定用于访问数据库记录的方法的类型。

Query q = em.createQuery(select);

第6步: 通过调用查询接口的方法来控制查询的执行。

List<StudentEntity> list = q.getResultList();

标准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接口的子接口。