SQL全称是“结构化查询语言(Structured Query Language),用的时候是直接传的sql语句去在数据库中执行;
hql是hibernate query language,操作的是持久化对象,由底层的持久化对象的数据更新到数据库中区,他是hibernate造出来的对象sql语言,只有hibernate框架能够解析,并将其通过一系列的映射转换,拼凑成sql语言。
JPQL是面向对象的查询语言,因此它可以完全理解继承、多态和关联等特征。而且JPQL内置了大量函数,极大地方便了JPQL查询的功能。当然JPQL底层依然是基于SQL的,但JPQL到SQL的转换无须开发者关心,JPQL解析器会负责完成这种转换,并负责执行这种转换的SQL语句来更新数据库。 jpql其原型就是hibernate。sun看到hibernate做的orm技术做的非常好,成为行业内领导orm框架的主流产品,故sun将其吸收进EJB3中,制定了一套orm的java api标准(特别说明的是:hibernate框架制造者,也是ejb3 jpa规范的定制者)。 故jpql极其类似hql。
CQL是Cassandra Query Language的缩写,目前作为Cassandra默认并且主要的交互接口。CQL和SQL比较类似,主要的区别是Cassandra不支持join或子查询,除了支持通过Hive进行批处理分析。