条件查询、SQL、JPQL、HQL比较

条件查询、SQL、JPQL、HQL比较

1、JPQL的定义

在 Java EE 中,JPQL( Java 持久性查询语言)是专门为Java 应用程序访问和导航实体实例设计的。JPQL是EJB2使用的查询语言EJB QL的扩展,它继承了EJB QL并对其作了一些改变。数据库

2、JPQL与SQL

  PQL是面向对象的查询语言,所以它能够彻底理解继承、多态和关联等特征。并且JPQL内置了大量函数,极大地方便了JPQL查询的功能。固然JPQL底层依然是基于SQL的,但JPQL到SQL的转换无须开发者关心,JPQL解析器会负责完成这种转换,并负责执行这种转换的SQL语句来更新数据库。 
  SQL是面向关系数据库的查询语言,所以SQL操做的对象是数据表、数据列;而JQPL操做的对象是实体对象,对象属性。函数

代码对比

SQL:post

//原生的SQL语句
select name,age,user_id from t_user

JPQL:设计

//面向对象的JPQL语句
select name,age,userId from User 

分析: 
    第一条语句用于对t_user table表执行查询,查询name、age、user_id三个数据列; 
    第二条语句用于对User实体执行查询,查询的是User实体的name、age、userId 属性。code

3、HQL

HQL(Hibernate Query Language)是面向对象的查询,from后面跟的是“表名”,where后用“表中字段”作条件。在Hibernate中使用查询时,
通常用HQL查询语句。由于HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,因此是大小写敏感的对象

相关文章
相关标签/搜索