JPA JPQL简介

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JPA JPQL简介相关的知识,希望对你有一定的参考价值。

JPQL(Java持久性查询语言)是一种面向对象的查询语言,用于对持久实体执行数据库操作。 JPQL不使用数据库表,而是使用实体对象模型来操作SQL查询。 这里,JPA的作用是将JPQL转换为SQL。因此,它为开发人员提供了一个处理SQL任务的简单方式。

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

  • 它可以执行连接操作。
  • 它可以批量更新和删除数据。
  • 它可以使用排序和分组子句执行聚合函数。
  • 单值和多值结果类型。

JPQL功能特性

  • 它是一种独立于平台的查询语言。
  • 它简单而强大。
  • 它可以用于任何类型的数据库,如:mysqlOracle
  • JPQL查询可以静态地声明为元数据,也可以动态构建在代码中。

在JPQL中创建查询

JPQL提供了两种可用于访问数据库记录的方法。 这些方法是 -

-Query createQuery(String name) - EntityManager接口的createQuery()方法用于创建一个用于执行JPQL语句的Query接口实例。

Query query = em.createQuery("Select s.s_name from StudentEntity s");
Java

此方法创建可在业务逻辑中定义的动态查询。

  • Query createNamedQuery(String name) - EntityManager接口的createNamedQuery()方法用于创建用于执行命名查询的Query接口实例。
    @NamedQuery(name = "find name" , query = "Select s from StudentEntity s")
    
    Java
    此方法用于创建可以在实体类中定义的静态查询。

现在,可以通过以下Query接口方法来控制查询的执行 -

  • int executeUpdate() - 此方法执行更新和删除操作。
  • int getFirstResult() - 此方法返回查询对象设置为检索的第一个定位结果。
  • int getMaxResults() - 此方法返回查询对象设置为检索的最大结果数。
  • java.util.List getResultList() - 此方法返回结果列表作为非类型化列表。
  • Query setFirstResult(int startPosition) - 此方法分配要检索的第一个结果的位置。
  • Query setMaxResults(int maxResult) - 此方法分配要检索的最大结果数。

以上是关于JPA JPQL简介的主要内容,如果未能解决你的问题,请参考以下文章

如何过滤 JPA/JPQL 中的集合?

直接在 JPA / JPQL 中将行插入连接表?

JPA JPQL高级操作

SOUNDEX 不能使用 JPQL 与 JPA 一起工作

JPA学习(JPA_JPQL)

清除与 JPA / JPQL 的多对多关系