数据库中hql语句与sql语句的区别

1、sql语句面向数据库表查询;hql语句面向对象查询。

2、hql语句 : from 后面跟的 类名+类对象 where 后 用 对象的属性做条件。

3、sql语句 : from 后面跟的是表名             where 后 用表中字段做条件查询。

4、在Hibernate中使用查询时,一般使用Hql查询语句。

5、HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像。不过HQL与SQL的最根本的区别,就是它是面向对象的。

6、在Hibernate中使用查询时,一般使用Hql查询语句。

另:

HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像。不过HQL与SQL的最根本的区别,就是它是面向对象的。

使用HQL时需要注意以下几点:

1、大小写敏感

        因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以HQL是大小写敏感的。

        HQL语句:from Cat as cat where cat.id > 1;与from Cat as cat where cat.ID > 1;是不一样的,这点与SQL不同。

2、from子句

        from Cat,该句返回Cat对象实例,开发人员也可以给其加上别名,eg. from Cat as cat,对于多表查询的情况,可参考如下:

        from Cat as cat, Dog as dog

其它方面都与SQL类似,在此不再赘述。

现在大家对于HQL和SQL的区别表现在几点,HQL的使用要注意哪些的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。

补充:

1、org.hibernate.hql.ast.QuerySyntaxException: is not mapped解决办法

        1、首先要检查的就是不是表名,这个应该大家都知道,hql语句对大小写很严格,因此请注意大小写;你的hql语句中的from是实体类而不是表名;

        2、你的hibernate配置文件中没有加入相应的映射文件<mapping resource=" " />;

        3、如果上面两方面检查了都没问题,但是还有错,那应该就是hql语句有错了,检查一下,放到数据库的sql运行窗口下运行一遍,可能就是因为一个空格或者一个引号而报错折腾一两天。因此,请仔细。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值