SQL,HQL,CQL,JPQL了解

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

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 等分组聚合查询语法。不支持事务。不支持锁。

原文地址:https://www.cnblogs.com/lhy-549/p/10155508.html

时间: 2024-08-11 18:32:17

SQL,HQL,CQL,JPQL了解的相关文章

SQL、HQL、JPQL、CQL的对比

SQL:全称结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据库脚本文件的扩展名. HQL:HQL(Hibernate Query Language)查询相对于Criteria查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的

通过Velocity模板实现了Hibernate sql-query的动态(SQL/HQL)

一.简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行.而MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,MyBatis需要使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.在编写比较复杂的动态SQL语句时,Mybatis的SQL是手动编写的,所以

Hibernate 拥有 Mybits 的SQL/HQL特性 (注解、XML两不误)

????第一次写博客.文章有点渣,喜欢就看看,不喜欢路过点个赞. ????效果:直接一条语句多种用法 ????FROM User A ???WHERE ???1=1 ???<#if id??> ??????<#if like??> ?????????and A.id like '%'||:id||'%' ??????<#else> ?????????and A.id=:id ??????</#if> ???</#if> ????先来原理 HQL/

SQL HQL JPQL CQL的对比

SQL(Structured Query Language)是关系数据库查询语言.from后面跟的是"表名",where后用"表中字段"做条件 HQL(Hibernate Query Language)是面向对象的查询,from后面跟的是"表名",where后用"表中字段"做条件.在Hibernate中使用查询时,一般用HQL查询语句.因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以是大小写敏感的.  JPQ

Atitit oodbms的查询,面向对象的sql查询jpa jpql hql

1.1. 标准API历史1 1.2. JPA定义了独特的JPQL(Java Persistence Query Language) 可媲美JDBC的查询能力  1 1.3. 操作api1 1.4. Hql2 1.1. 标准API历史 该标准被纳入因此标准的每一步中JPA的规范通知所有版本JPA. 在JPA2.0中,标准查询API,查询的标准化开发. 在JPA2.1,标准更新和删除(批量更新和删除)都包括在内 1.2. JPA定义了独特的JPQL(Java Persistence Query La

JPQL 的基本使用

一.概念 JPQL 语言,即 Java Persistence Query Language 的简称.JPQL 和 HQL 是非常类似的,支持以面向对象的方式来写 SQL 语句,当然也支持本地的 SQL 语句.JPQL 最终会被编译成针对不同底层数据库的 SQL 查询从而屏蔽掉不同数据库的差异. 1.API javax.persistence.Query 接口封装了执行数据查询的相关方法.主要方法如下: int executeUpdate():用于执行 update 或 delete 语句. L

Java_Web三大框架之Hibernate+HQL语言基础

12.1 HQL语言基础Hibernate查询语言为HQL(Hibernate Query Language),可以直接使用实体类名及属性.HQL语法类似于SQL,有SQL的关键词如select.from.order by.count().where等等.不同的是HQL是一种完全面向对象的语言,能够直接查询实体类及属性.12.1.1 HQL语法HQL语法类似于SQL,是一种select...from...的结构.其中,from后跟的是实体类名,而不是表名.select后面跟的可以是实体对象,也可

Hibernate中的HQL查询与缓存机制

HQL:完全面向对象查询 SQL的执行顺序: 1.From 2.Where 过滤基础数据 where与having的区别:1.顺序不同 2.where过滤基础数据 3. 过滤聚合函数 3.Group by 4.Select 5.Having 6.Order by   使用Hibernate查询时,使用hibernate的一个接口query Hql是面向对象的查询语句,所以跟的是类名 Query query = session.createQuery("select id,name,stu.cla

Hibernate动态SQL查询

一.需求背景 给hibernate插上ibatis动态查询的翅膀,既保留crud的简洁性,又能收获ibatis的特性. 二.ibatis的动态查询 1 <select id="findUser" resultClass="User"> 2 SELECT * From User 3 <dynamic prepend="WHERE"> 4 <isNull property="id"> 5 id