【java EE】JPQL

JPQL全称Java Persistence Query Language
基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。

其特征与原生SQL语句类似,并且完全面向对象,通过类名和属性访问,而不是表名和表的属性。

JPQL所提供的查询语法主要分为三类:
  • 查询用的 SELECT 语法
  • 更新用的 UPDATE 语法
  • 删除用的 DELETE 语法

  SELECT 语法结构由几个部份组成:
SELECT 子句 FROM 字句 [WHERE 子句] [GROUP BY 子句] [HAVING 子句] [ORDER BY 子句]

  一个基本的 SELECT 语句如下所示:
SELECT u.id, u.name FROM User u WHERE u.age > 10 AND u.age < 20

  其中User u是个路径表示(path expression),路径表示有三种:范围变数(Range variable)路径表示、群集成员(Collection member)路径表示与关联导览(Association traversing)表示。User u是范围变数路径表示的一个例子,指定查询的实体为User与别名为u。

选择查询

编辑
SELECT <select_expression>
FROM <from_clause>
[WHERE <conditional_expression>]
[ORDER BY <order_by_clause>]

聚合查询

编辑
SELECT <select_expression>
FROM <from_clause>
[WHERE <conditional_expression>]
[GROUP BY <group_by_clause>]
[HAVING <conditional_expression>]
[ORDER BY <order_by_clause>]

更新查询

编辑
UPDATE <entity name>[ [AS ] <identification variable>]
SET <update_statement>{,<update_statement>}*
[WHERE <conditional_expression>]

删除查询

编辑
DELETE FROM <entity name>[ [AS ] <identification variable>]
[WHERE <conditional_expression>]

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jing18033612052/article/details/78013720
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭