hql与sql

HQL是Hibernate Query Language的缩写,提供更加丰富灵活、更为强大的查询能力;HQL更接近SQL语句查询语法。
一、hql与sql的区别:
 1、首先 hql 是面向对象查询,sql 是面向数据库表查询。
 2、hql 区分大小写,sql 不区分大小写。
 3、在语法上
  hql :from 后面跟的 类名+类对象, where 后用对象的属性做条件。
   增删改直接调用封装好的save()、delete()、update()方法。
  sql: from 后面跟的是表名,where 后 用表中字段做条件查询。
 4、hql中 select * 可以省略。

二、在Hibernate中推荐使用hql语句,不建议直接使用sql。
原因:
 1、sql不是以面对对象的方式操作数据库,这是Hibernate不提倡的。
 2、如果编写了某种数据库特有的函数或语法,那么在更换数据库时肯定要修改源码重新编译。

三、Hibernate把hql编译成sql语句传送到数据库进行查询。
 在执行效率方面,不考虑其它的影响, 一般sql 效率要高于 hql ,如果考虑 缓存,关联映射,语句的质量就要看具体情况,不过sql 的功能是比hql大。

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值