本文概述
- JPQL功能
- 在JPQL中创建查询
JPQL是Entity JavaBeans查询语言(EJBQL)的扩展, 向其添加了以下重要功能:-
- 它可以执行联接操作。
- 它可以批量更新和删除数据。
- 它可以执行带有排序和分组子句的聚合功能。
- 单值和多值结果类型。
- 它是与平台无关的查询语言。
- 它既简单又健壮。
- 它可以与任何类型的数据库一起使用, 例如MySQL, Oracle。
- 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")
此方法用于创建可以在实体类中定义的静态查询。
【JPA JPQL简介】现在, 我们可以通过以下Query接口方法来控制查询的执行:-
- int executeUpdate()-此方法执行更新和删除操作。
- int getFirstResult()-此方法返回查询对象设置为检索到的第一个定位结果。
- int getMaxResults()-此方法返回设置查询对象要检索的最大结果数。
- java.util.List getResultList()-此方法将结果列表作为无类型的列表返回。
- 查询setFirstResult(int startPosition)-此方法分配要检索的第一个结果的位置。
- 查询setMaxResults(int maxResult)-此方法分配要检索的最大结果数。