当前位置:网站首页>SQL、HQL、JPQL 到底有什么区别
SQL、HQL、JPQL 到底有什么区别
2022-07-31 14:56:00 【十⑧】
SQL、HQL、JPQL 到底有什么区别
SQL 是可以操作数据库的。
HQL 是 Hibernate 框架实现的,是 对象关系查询语言。
JPQL 是 以 HQL 为原型,是 完全面向对象的查询语言。
本文参考:SQL、HQL、JPQL、CQL的对比
SQL(Structured Query Language)即:结构化查询语言,是 关系数据库的 查询语句。
即:可以用此语言去操作数据库。处理对象是
数据库的表、表字段。SQL Server、MySql、Oracle 这三个常用的关系型数据都是使用 SQL 语句来查询数据的,可以有些许不同,但大体结构是不变的。
以 MySql 数据库的 SQL 的
结构为例,字句的编写顺序以下面的列表为准。SELECT 字句,
必须,用于规定查询的表的哪几个属性,必须大于等于一个。FROM 字句,
必须,用于引入表,连表查询也是在这里引入表。WHERE 字句,
非必须,用于指定查询条件。GROUP BY 字句,
非必须,用于分组。ORDER BY 字句,
非必须,用于排序。注意:字句后跟的都是 表名 或 表字段名 或 函数。
例子:
SELECT article_id, article_type FROM article GROUP BY article_type ORDER BY article_type
article_id 和 article_type 是数据表 article 的字段。
大小写不敏感。MySql 中,表名和属性名都要小写的,默认将 SQL中的属性名、表名 转为 小写。
下面的 查询语言用于查询时,都需要转为 SQL 语言。
HQL(Hibernate Query Language)即:对象关系查询语言,是 Hibernate 框架生成的查询语句。
只有 Hibernate 框架可以解析,Hibernate 框架当然有相应的解析器将其转换成 SQL 语言。
处理对象是
JPA 实体、实体属性。大小写敏感,和 Java 一样。
查询语句中,FROM 等字句后跟的都是 类名 或 类属性名 或 类对象。
与 SQL 的比较
结构上与 SQL 没有太大的区别。
SELECT 等字句后添加的 表字段、表 替换成了 类属性、类名。
JPQL 即:面向对象的查询语言,
原型是 HQL,JPQL 极其相似 HQL。
JPQL 到 SQL 的转换 JPQL 解析器会负责完成。
处理对象是
JPA 实体、实体属性。它能够彻底理解继承、多态和关联等特征,并且 JPQL 内置了大量函数,极大地方便了 JPQL 查询的功能。
JPQL 底层依然是基于 SQL 的。
与 SQL 的比较
结构上与 SQL 没有太大的区别。
SELECT 等字句后添加的 表字段、表 替换成了 类属性、类名。
关联表的连接方式只有:内连接、左外连接。
支持 删、查、改 操作。
(二发)如果对你有帮助,点赞可好!!
边栏推荐
- TRACE32——C源码关联
- OpenShift 4 - 定制 RHACS 安全策略,阻断生产集群使用高风险 Registry
- "Listen to me, thank you" can be said in ancient poetry?Tsinghua University has developed an artifact of "Searching Sentences According to Meaning", which can search for the famous sayings you want wi
- Network cable RJ45 interface pins [easy to understand]
- The role of /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.bashrc files
- 女性服务社群产品设计
- 华医网冲刺港股:5个月亏2976万 红杉与姚文彬是股东
- OAuth2:微服务权限校验Session共享
- 什么是消息队列呢?
- 三角恒等变换公式
猜你喜欢

2021 OWASP TOP 10 漏洞指南

Node实现数据加密

Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐)

Architecture actual combat battalion module 8 message queue table structure design

《微信小程序-进阶篇》Lin-ui组件库源码分析-Icon组件

The paper manual becomes 3D animation in seconds, the latest research of Wu Jiajun of Stanford University, selected for ECCV 2022

Redis与分布式:主从复制

消息队列消息数据存储MySQL表设计

I summed up the bad MySQL interview questions

OpenCV测量物体的尺寸技能 get~
随机推荐
/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用
R语言ggplot2可视化:使用ggpubr包的ggmaplot函数可视化MA图(MA-plot)、font.legend参数和font.main参数设置标题和图例字体加粗
深入浅出边缘云 | 4. 生命周期管理
OAuth2:使用JWT令牌
NC | 斯坦福申小涛等开发数据可重复分析计算框架TidyMass
redhat/openssl generates a self-signed ca certificate and uses it
看交互设计如何集成到Scrum敏捷流程中
Jmeter常用的十大组件
[QNX Hypervisor 2.2 User Manual] 9.13 rom
乡村基冲刺港交所:5个月期内亏2224万 SIG与红杉中国是股东
DeepLab系列学习
LeetCode二叉树系列——110.平衡二叉树
Node实现数据加密
OpenShift 4 - Deploy Redis Cluster with Operator
R语言的画图代码及差异性分析[通俗易懂]
Detailed guide to compare two tables using natural full join in SQL
Efficient use of RecyclerView Section 3
AVH部署实践 (一) | 在Arm虚拟硬件上部署飞桨模型
大健云仓冲刺美股:增营收反减利润 京东与DCM是股东
力扣:714. 买卖股票的最佳时机含手续费