• 关于对SQL、HQL、JPQL、CQL的区别理解


    1、HQL(Hibernate Query Language)是面向对象的查询,from后面跟的是“表名”,where后用“表中字段”做条件。在Hibernate中使用查询时,一般用HQL查询语句。因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以是大小写敏感的。
    
    
    2、JPQL(Java Presistence Query Language )是EJB3.0中的JPA造出来的对象查询语言。JPQL是完全面向对象的,具备继承、多态和关联等特性,
    和hibernate HQL很相似。基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言
    的表达式,将SQL语法和简单查询语义绑定在一起.使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL.
    JPQL语句支持两种方式的参数定义方式: 命名参数和位置参数。。在同一个查询语句中只允许使用一种参数定义方式。
    
    1
    2
    //面向对象的JPQL语句
    select name,age,userId from User //对User实体执行查询,查询的是User实体的name、age、userId 属性
    3、SQL(Structured Query Language)是关系数据库查询语言。from后面跟的是“表名”,where后用“表中字段”做条件
    1
    2
    //原生的SQL语句
    select name,age,user_id from t_user //对t_user table表执行查询,查询name、age、user_id三个数据列

      

    4、CQL ( Cloud Query Language)是 LeanCloud 为查询 API 定制的一套类似 SQL 查询语法的子集和变种,其目的是让开发者可以使用传统的 SQL 语法来查询 

    LeanCloud 云端数据,从而减少学习 LeanCloud 查询 API 的成本。与 SQL 的主要差异:不支持在 select 中使用 as 关键字为列增加别名。update 和 delete
     不提供批量更新和删除,只能根据 objectId(where objectId=xxx)和其他条件来更新或者删除某个文档。不支持 join,关联查询提供 includerelatedTo 等
     
    语法来替代(关系查询)。仅支持部分 SQL 函数(内置函数)。不支持 group byhavingmaxminsumdistinct 等分组聚合查询语法。不支持事务。
    不支持锁。
  • 相关阅读:
    Python学习 Day 1-简介 安装 Hello world
    R Programming week2 Functions and Scoping Rules
    R in action读书笔记(6)-第七章:基本统计分析(中)
    R in action读书笔记(5)-第七章:基本统计分析
    Redis进阶应用:Redis+Lua脚本实现复合操作
    一个项目的SpringCloud微服务改造过程
    中间件增强框架之-CaptureFramework框架
    关系型数据库全表扫描分片详解
    AI中台——智能聊天机器人平台的架构与应用(分享实录)
    如何设计实时数据平台(设计篇)
  • 原文地址:https://www.cnblogs.com/wwhai/p/9243874.html
Copyright © 2020-2023  润新知