精华帖 (0) :: 良好帖 (3) :: 新手帖 (19) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-19
其实就是禁用hibernate,还这么复杂搞个禁用HQL。像生成报表之类的复杂查询,我想JDBC都不适用。
|
|
返回顶楼 | |
发表时间:2008-09-19
melode11 写道 用named sql query还用什么hibernate...
另外,hibernate的文档中提到了,hibernate是对并发处理非常好的框架,在[高并发]和[合理使用]的情况下,性能可以达到jdbc的水平。 named sql query 本身也是 Hibernate 的一个的特性。 |
|
返回顶楼 | |
发表时间:2008-09-19
看了你的帖子,我有点莫名的郁闷,你都做到了架构设计了,难道还不了解hibernate和原生sql的关系吗?
他们解决问题的方式是不同的: hibernate:一方面是让你用OO的思想去思考问题 ;另一个方面是说我不是为了优化sql,而是采用缓存,提高命中率,减少DB的访问 而SQL,不一样,它是面向DB的,优化SQL等方式提高DB的性能,这个是他的职责。 从这个文章来看,电信真是烂 |
|
返回顶楼 | |
发表时间:2008-09-19
ziyuan 写道 ibatis完全符合lz的需求,,why not try it
同意你,我在公司项目中制定这个开发规范正符合 ibatis 的特点。 因为 2006年项目启动时,已经确定使用 Hibernate 3, 而公司以前编程规范是使用 HQL, QBC 的 , 正好那次在项目初期对Hibernate 这一使用规范逐渐纠正过来。 如果是新的项目, 我想我会选 ibatis 的。 |
|
返回顶楼 | |
发表时间:2008-09-19
duobin3000 写道 看了你的帖子,我有点莫名的郁闷,你都做到了架构设计了,难道还不了解hibernate和原生sql的关系吗?
他们解决问题的方式是不同的: hibernate:一方面是让你用OO的思想去思考问题 ;另一个方面是说我不是为了优化sql,而是采用缓存,提高命中率,减少DB的访问 而SQL,不一样,它是面向DB的,优化SQL等方式提高DB的性能,这个是他的职责。 从这个文章来看,电信真是烂 话不要说这么绝对。Named SQL Query本身也是Hibernate 的一个特性,千万不要将它和 Hibernate 对立起来。 (这是我 2006 年确定的 Hibernate 使用的规范。) 如果你面对的是新项目,你这样说完全 OK。 如果是一个 2006年 已经确定用 Hibernate 的项目, 在项目初期遇到复杂查询业务,不知你会怎样处理开发和选型的问题? 在理论 hibernate 和 sql 有你所说的区别; 但在实际项目中, 你可以看看情况是怎样的;你只看到 sql 面向DB,而没注意业务的复杂性; 我不相信你只用 Hibernate 的 OO 在一个项目里就能搞定所有业务需求。 还是感觉很多朋友只是教条的坚持每个技术的标准特点和规范,不能做适当变通。 本文分享出来,正是给使用 Hibernate 的兄弟提供一个实践经验的参考。 |
|
返回顶楼 | |
发表时间:2008-09-19
面对复杂的查询,或者说关联的表稍微多一点,hql生成的sql就会有半个屏幕,确实感觉不是很舒服啊
|
|
返回顶楼 | |
发表时间:2008-09-19
weizh 写道 其实就是禁用hibernate,还这么复杂搞个禁用HQL。像生成报表之类的复杂查询,我想JDBC都不适用。
对,我们系统现在使用的100多个报表,现在都用存储过程做。一方面是业务规则比较复杂,一方面是考虑复杂的sql在效率方面会有问题,而且难以优化。 |
|
返回顶楼 | |
发表时间:2008-09-20
我恰恰相反,我认为使用hibernate要尽量使用HQL。
对于复杂查询我们引入jdbctemplate就可以了。 |
|
返回顶楼 | |
发表时间:2008-09-20
tibetjungle 写道 weizh 写道 其实就是禁用hibernate,还这么复杂搞个禁用HQL。像生成报表之类的复杂查询,我想JDBC都不适用。
对,我们系统现在使用的100多个报表,现在都用存储过程做。一方面是业务规则比较复杂,一方面是考虑复杂的sql在效率方面会有问题,而且难以优化。 最佳实践有多种,Store Procedure 也是一种我们以前使用过的方式,而且Hibernate 对此也是支持的。如果能充分结合 Hibernate Cache功能,这也是一个不错的方案,只要你们定下一个规范就可以了。 |
|
返回顶楼 | |
发表时间:2008-09-20
我认为电信级别的项目不适合用hibernate,新手用好hibernate可不是件容易的事,一个项中开发规范和技术架构很很重要.
|
|
返回顶楼 | |