JPA JPQL介绍
JPQL(Java Persistence Query Language)是一种面向对象的查询语言,用于对持久化实体进行数据库操作。JPQL 使用实体对象模型代替数据库表来操作 SQL 查询。在这里,JPA 的作用是将 JPQL 转换为 SQL。因此,它为开发人员处理 SQL 任务提供了一个简单的平台。
JPQL 是实体 JavaBean 查询语言 (EJBQL) 的扩展,为其添加了以下重要功能:
- 它可以执行连接操作。
- 它可以批量更新和删除数据。
- 它可以执行带有排序和分组子句的聚合功能。
- 单值和多值结果类型。
JPQL 特点
- 它是一种独立于平台的查询语言。
- 它简单而稳定。
- 它可以与任何类型的数据库一起使用,例如 MySQL、Oracle。
- JPQL 查询可以静态地声明到元数据中,也可以动态地构建在代码中。
在 JPQL 中创建查询
JPQL 提供了两种可用于访问数据库记录的方法。这些方法是:-
- Query createQuery(String name) :EntityManager 接口的 createQuery() 方法用于创建 Query 接口的实例,用于执行 JPQL 语句。
Query query = em.createQuery("Select s.s_name from StudentEntity s");
此方法创建可以在业务逻辑中定义的动态查询。
- Query createNamedQuery(String name) : EntityManager 接口的 createNamedQuery() 方法用于创建用于执行命名查询的 Query 接口实例。
@NamedQuery(name = "find name" , query = "Select s from StudentEntity s")
此方法用于创建可以在实体类中定义的静态查询。
现在,我们可以通过以下 Query 接口方法来控制查询的执行:
- int executeUpdate() : 此方法执行更新和删除操作。
- int getFirstResult() : 此方法返回查询对象设置为检索的第一个结果。
- int getMaxResults() : 此方法返回查询对象设置为检索的最大结果数。
- java.util.List getResultList() : 此方法将结果列表作为无类型列表返回。
- Query setFirstResult(int startPosition) : 此方法分配要检索的第一个结果的位置。
- Query setMaxResults(int maxResult) : 此方法分配要检索的最大结果数。
热门文章
优秀文章