首先谢谢你的文章,我刚开始接触NHibernate,那么如何返回多表查询的集合呢,如select Department.Id,Employee.Id from Org.Employee as Employee inner join Org.Department as Department
哎,我看了一下,感觉没兴趣,因为它让我从稍熟悉的SQL中出来后,又进了HQL的迷阵。
HQL的提出,我个人认为是一种错误,如果从理论上讲一种飞跃的话,那么在实用性上未必是成功的。
因为让一个程序员要熟悉这个所谓的HQL,简直是要命的,而且HQL也不是万能的能够解决所有的SQL问题。
我也听到好多人在报怨这所谓的HQL。。
有时候我在想,为什么这东西这么不好,但还是有这么多人,在追捧着,不出来表明自己的态度。有可能是盲目崇拜,有可能是因为大家都不会,这能突出自己的水平吧。
一个东西的存在,至少先要说明存在的意义,有没有实用价值,真不知道有多少朋友在使用这HQL应用到项目开发?估计也都是学习学习而已,也都会半途而废。
Hibernate3中的HQL已经提供了delete/update功能,可见也日趋完善和全面,同时也越来越接近的传统的SQL,与SQL不同的是,SQL面向的是二维的结构化的数据,而HQL则面向数据对象。在对象型数据库尚不成熟的今天,通过面向对象的查询语言对关系数据进行访问,既满足了上层结构中面向对象设计的要求,也充分利用了现有技术平台,这个估计正是Hibernate的优势所在!
同意听棠的说法啊, 事实上ORM 讲求还是极致的oo ,只要做到了oo ,无所谓用不用sql ,用ado.net ,用nh,都可以实现oo,也都可以实现orm.
这个hql 实在还很不成熟,即使在今天也是如此