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) : 此方法分配要检索的最大结果数。

热门文章

优秀文章