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是面向对象的,而对象类的名称和属性都是大小写敏感的,所以是大小写敏感的。

  • 相关阅读:
    linux系统禁止root用户通过ssh登录及ssh的访问控制
    POJ 3670 , 3671 LIS
    hello world是怎样运行的?
    MFC框架中消失的WinMain()
    [置顶] android LBS的研究与分享(附PPT)
    POJ 3616 DP
    IMP 导入数据报错 OCI-21500 OCI-22275
    误删/tmp导致hadoop无法启停, jsp无法查看的解决方法
    java的文件操作类File
    C#的可空类型与不可空类型
  • 原文地址:https://www.cnblogs.com/tgq0101457/p/9230573.html
Copyright © 2011-2022 走看看