本文概述
JPQL(Java持久性查询语言)是一种面向对象的查询语言, 用于对持久性实体执行数据库操作。 JPQL使用实体对象模型代替数据库表来操作SQL查询。在这里, JPA的作用是将JPQL转换为SQL。因此, 它为开发人员提供了一个轻松的平台来处理SQL任务。
JPQL是Entity JavaBeans查询语言(EJBQL)的扩展, 向其添加了以下重要功能:-
- 它可以执行联接操作。
- 它可以批量更新和删除数据。
- 它可以执行带有排序和分组子句的聚合功能。
- 单值和多值结果类型。
JPQL功能
- 它是与平台无关的查询语言。
- 它既简单又健壮。
- 它可以与任何类型的数据库一起使用, 例如MySQL, Oracle。
- JPQL查询可以在元数据中静态声明, 也可以在代码中动态构建。
在JPQL中创建查询
JPQL提供了两种可用于访问数据库记录的方法。这些方法是:-
- Query createQuery(String name)-EntityManager接口的createQuery()方法用于创建用于执行JPQL语句的Query接口的实例。
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()-此方法将结果列表作为无类型的列表返回。
- 查询setFirstResult(int startPosition)-此方法分配要检索的第一个结果的位置。
- 查询setMaxResults(int maxResult)-此方法分配要检索的最大结果数。
评论前必须登录!
注册