【java EE】JPQL

原创 2017年09月17日 21:36:08
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>]

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【JAVA基础】数据类型(引)

对Java基础理不清导致的十万个为神马

Hibernate缓存机制简述

       缓存的作用主要用来提高性能,可以简单地理解成一个Map。使用缓存涉及到三个操作:把数据放入缓存(put)、从缓存中获取数据(get)、删除缓存中的无效数据(remove)。 一级缓存,S...

Glassfish性能调优 让你的Java EE更流畅

Glassfish性能调优的性能调优是件复杂而细致的工作,本文向您介绍Glassfish性能调优的六个主要方面,希望对您有所帮助。  GlassFish是目前主流的Java EE应用服务器之一,...
  • lsharp
  • lsharp
  • 2011年04月09日 15:19
  • 711

Elipse JAVA EE 开发环境搭建

转载地址:http://liqi328163.iteye.com/blog/1867134 一篇很不错的文章,保存下来以备后用。原文地址http://www.iteye.com/topi...

Java EE项目中的异常处理

转自:http://blog.csdn.net/luqin1988/article/details/7970792 为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“...
  • yasi_xi
  • yasi_xi
  • 2014年04月04日 09:57
  • 1101

CKEditor 4的初始化配置与开启上传功能(JAVA EE)

在JAVA工程项目中配置CKEditor4,同时开启其上传功能,包括图片的上传,超链接的中文件上传(主要用于正文中的附件下载),flash上传。同时不用与CKfinder集成,简单快捷,复用性强。 配...
  • lyy396
  • lyy396
  • 2016年01月13日 12:03
  • 2253

eclipse Java EE平台使用指南(二)

3.5创建servlet 3.6快速访问方法的声明与实现(3.5提供) 3.7 修改项目发布工程名(虚拟子目录) 3.8 发布web 项目 3.8.1 发布环境分类 ...

Java EE的十三个技术规范

Java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序。 下面,我们一起学习一下J2EE的十三种技术规范。 一、J...

《Java EE互联网轻量级框架整合开发》在京东预售,发个目录

《Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现 》在京东预售,发个目录给大家look look...

【转】Java EE 开源项目

原文地址:http://jythoner.iteye.com/blog/311436给学习J2EE的朋友一些值得研究的开源项目 江苏无锡缪小东        这篇文章写在我研究J2SE、J2EE近三年...
  • easyjsf
  • easyjsf
  • 2011年05月13日 23:03
  • 2226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【java EE】JPQL
举报原因:
原因补充:

(最多只允许输入30个字)