1. jpql
1.1 什么是jpql
jpql:就是jpa提供的一种查询语言,类似sql JPQL必须由JPA的JPQL解析器解析为SQL才能执行,必须先获取Query对象
1.2 jpql和sql有区别
1.jpql操作对象和对象里面的属性 sql操作 表 和表里面的列 区分大小写
2.在jpql里面 不能出现 * ,不能出现表名
3. jpql和sql 他们关键字是相同 ,关键字不区分大小写
JPQL是面向对象的查询语言,因此它可以完全理解继承、多态和关联等特征。而且JPQL内置了大量函数,极大地方便了JPQL查询的功能。当然JPQL底层依然是基于SQL的,但JPQL到SQL的转换无须开发者关心,JPQL解析器会负责完成这种转换,并负责执行这种转换的SQL语句来更新数据库。
SQL是面向关系数据库的查询语言,因此SQL操作的对象是数据表、数据列;而JQPL操作的对象是实体对象,对象属性。
1.3 jpql的语法
sql语法:
select *
from table
where 过滤条件
group by 分组条件
having 分组之后的过滤 avg(score) > 98
order by 排序
jpql
select o.name,o(对象属性)
from 类 o** join o.类里面属性名 p
where o.属性名
group by o.属性名
order by