当前位置: 首页 > 教程 > JPA >

JPA JPQL简介

精华
小牛编辑
187浏览
2023-03-14

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

JPQL是实体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() - 此方法返回结果列表作为非类型化列表。
  • Query setFirstResult(int startPosition) - 此方法分配要检索的第一个结果的位置。
  • Query setMaxResults(int maxResult) - 此方法分配要检索的最大结果数。

最后更新:

类似资料

  • 译序 不懂数据库的全栈工程师不是好架构师 —— Vonng ​ 现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师,DBA、还是后端工程师、甚至产品经理都会有帮助。 ​ 这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!

  • 模块(也被称为 “task plugins” 或 “library plugins”)是在 Ansible 中实际在执行的.它们就 是在每个 playbook 任务中被执行的.你也可以仅仅通过 ‘ansible’ 命令来运行它们. 让我们回顾一下我们是如何通过命令行来执行三个不同的模块: ansible webservers -m service -a "name=httpd state=star

  • 译者的话 这是一本很经典的Python入门教材,也是一本很适合初学者的编程入门书籍。网上有过一些翻译,不过我觉得都还是自己动手来尝试一下,这样更有利于深入了解和体验,所以就再造轮子了。 作者的话 这是Think Python这本书的第二版,本次使用的是Python3,与Python2有很多不同,这些不同之处会有标注。如果你用Python2的话,还是建议你去阅读上一个版本。 读者可以到亚马逊购买本书

  • 不同于传统 Shell 书籍,本书并未花大篇幅去介绍 Shell 语法,而是以面向“对象” 的方式引入大量的实例介绍 Shell 日常操作,“对象” 涵盖数值、逻辑值、字符串、文件、进程、文件系统等。这样有助于学以致用,并在用的过程中提高兴趣。也可以作为 Shell 编程索引,在需要的时候随时检索。 介绍 项目首页:http://www.tinylab.org/open-shell-book 代码

  • MongoDB 是一个开源的文档类型数据库,它具有高性能,高可用,可自动收缩的特性。MongoDB能够避免传统的ORM映射从而有助于开发。 文档 在MongoDB中,一行纪录就是一个文档,它是一个由键值对构成的数据结构,MongoDB文档与JSON对象类似。键的值可以包含其他的文档,数组,文档数组。 { "_id" : ObjectId("54c955492b7c8eb21818bd09")

  • 为什幺写这个框架? 利用协程特性以同步方式来编写异步代码,增强可读性。 将swoole的异步特性与传统框架的MVC相结合。 可以用作api也可以用作http server,rpc server. 目前实现了以Zookeeper、Redis、Mysql为注册中心的服务化治理. 如何使用,与传统框架的区别? 框架基本使用与传统框架基本一致,路由,控制器,服务层,数据层。 在异步调用的地方需要以yiel