sql是关系数据库查询语言,面对的数据库;而hql是Hibernate这样的数据库持久化框架提供的内置查询语言,虽然他们的目的都是为了从数据库查询需要的数据,但sql操作的是数据库表和字段,而作为面向对象的hql操作的则是持久化类及其属性 但是除了这些还有吗?



hql是面向对象的 。

其实还是转成了sql语句

hql在数据库通用,切换数据库方言就可以

sql在不同数据库中语法有些不同

还是sql比较灵活一些。。


HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖 Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。


sql只是结构化查询语言,只是面向数据检索,不具有面向对象的特征,所以HQL更加符合开发标准!


*************************************************

与struts、spring、hibernate等同的技术有那些?

与struts等同的技术有哪些?

与spring等同的技术有哪些?

与hibernate等同的技术有哪些?


检举| 2010-02-06 11:02提问者采纳

Struts1.x同等技术有WebWork,Struts2更倾向于WebWork,都是MVC框架,Spring也有MVC框架,只是很少有人用。。。

Spring主要包含AOP和IOC两种技术,据说在Spring出现之前大都用EJB2(现在已经到EJB3了),不过我个人觉得EJB2太庞大,配置繁琐,测试难度也大(依赖于容器),另外JBoss Seam我个人觉得也是不错的,如果是项目负责人可以尝试一下(主要是双向注入的特性)。

Hibernate同等技术应该算Toplink和ibatis(要自己写SQL语句)吧。都是做持久层的。。个人觉得还是Hibernate No.1。