JPA(Java Persistence API)学习十五(JPQL)

1.概述

   JPQL(Java持久性查询语言)是一种面向对象的查询语言,用于对持久实体执行数据库操作。

   JPQL不使用数据库表,而是使用实体对象模型来操作SQL查询。

   这里,JPA的作用是将JPQL转换为SQL。因此,它为开发人员提供了一个处理SQL任务的简单方式。

   

   JPQL是实体JavaBeans查询语言(EJBQL)的扩展,向其添加了以下重要功能 

          其一:可以执行连接操作。

          其二:可以批量更新和删除数据。

          其三:可以使用排序和分组子句执行聚合函数。

          其四:单值和多值结果类型。

2.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"

 

3.通过以下Query接口方法来控制查询的执行

   int executeUpdate() - 此方法执行更新和删除操作。
   int getFirstResult() - 此方法返回查询对象设置为检索的第一个定位结果。
   int getMaxResults() - 此方法返回查询对象设置为检索的最大结果数。
   java.util.List getResultList() - 此方法返回结果列表作为非类型化列表。
   Query setFirstResult(int startPosition) - 此方法分配要检索的第一个结果的位置。
   Query setMaxResults(int maxResult) - 此方法分配要检索的最大结果数。
 
学习来源:https://www.yiibai.com/jpa/jpa-jpql-introduction.html#article-start
posted @ 2020-09-09 15:52  小窝蜗  阅读(332)  评论(0)    收藏  举报