zoukankan      html  css  js  c++  java
  • 条件查询、SQL、JPQL、HQL比较

    一、什么是JPQL

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

    二、JPQL与SQL

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

    代码对比

    SQL:

    //原生的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 属性。

    三、HQL

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

  • 相关阅读:
    Spring Boot (20) 拦截器
    Spring Boot (19) servlet、filter、listener
    Spring Boot (18) @Async异步
    Spring Boot (17) 发送邮件
    Spring Boot (16) logback和access日志
    Spring Boot (15) pom.xml设置
    Spring Boot (14) 数据源配置原理
    Spring Boot (13) druid监控
    Spring boot (12) tomcat jdbc连接池
    Spring Boot (11) mybatis 关联映射
  • 原文地址:https://www.cnblogs.com/gai-blog/p/9167164.html
Copyright © 2011-2022 走看看