论坛首页 入门技术论坛

再论hibernate是否适合做大型应用

浏览 15055 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-05-18  
数据量和查询量都非常大的时候,SQL优化是非常关键的,SQL优化需要相当高的灵活性。hibernate恰恰在带来便利的同时阻挠了这种灵活性。它的自动化不利于对复杂的查询进行优化。ibatis允许开发人员自己优化SQL,牺牲便利带来了设计上的灵活性。选择框架应该根据自己所需要的业务,不是说hibernate一定不适合做大型开发,而是不适合做需要对SQL性能进行苛刻的优化的项目。楼主这篇贴的命题就不准确。
0 请登录后投票
   发表时间:2010-05-18  
我还是习惯用SQL掌控一切。
0 请登录后投票
   发表时间:2010-05-18  
rockliu2009 写道
数据量和查询量都非常大的时候,SQL优化是非常关键的,SQL优化需要相当高的灵活性。hibernate恰恰在带来便利的同时阻挠了这种灵活性。它的自动化不利于对复杂的查询进行优化。ibatis允许开发人员自己优化SQL,牺牲便利带来了设计上的灵活性。选择框架应该根据自己所需要的业务,不是说hibernate一定不适合做大型开发,而是不适合做需要对SQL性能进行苛刻的优化的项目。楼主这篇贴的命题就不准确。


hibernate也提供了对原生sql的支持,能够让你绝对掌控sql。
0 请登录后投票
   发表时间:2010-05-18   最后修改:2010-05-18
本人对Hibernate的理解不是很深,应该是很肤浅。但我认为Hibernate在CRUD操作比较多的情况下使用应该是比较好的,但是对于主要是查询的系统来讲,特别是复杂查询的时候应该不是好的选择,我觉得Ibatis倒是很好的选择。Hibernate的表和实体是对应的吧,那有的时候我想从某表中查找几十列,甚至是上百列的时候(这种时候是有的,特别是在电信等行业中,这种查询很多),难道还要定义上百个属性的实体吗,不知道我说的对不,在这上百个属性中,我们真正使用的可能就一两个属性,我想这样好像也不好,不知说的对否
0 请登录后投票
   发表时间:2010-05-18  
大家给我凭了个新手帖,太伤我心了,呜呜。。。。。。
太不厚道了,不同意俺的说法也不用投新手帖吧
0 请登录后投票
   发表时间:2010-05-18  
很赞同楼主的观点,楼主并没没有明确说hibernate好和坏,只是建议对hibernate妄自发表评论的人先认真仔细的学习一下hibernate,你要说它好还是坏,至少你得知道它是不是确实不能干什么,或是能干什么吧,光学会用了几个API就大发感叹的人没有资格评论是好是坏.
0 请登录后投票
   发表时间:2010-05-18  
zjcheng 写道
本人对Hibernate的理解不是很深,应该是很肤浅。但我认为Hibernate在CRUD操作比较多的情况下使用应该是比较好的,但是对于主要是查询的系统来讲,特别是复杂查询的时候应该不是好的选择,我觉得Ibatis倒是很好的选择。Hibernate的表和实体是对应的吧,那有的时候我想从某表中查找几十列,甚至是上百列的时候(这种时候是有的,特别是在电信等行业中,这种查询很多),难道还要定义上百个属性的实体吗,不知道我说的对不,在这上百个属性中,我们真正使用的可能就一两个属性,我想这样好像也不好,不知说的对否


并不是这样的,在定义映射文件的时候,你只需要映射你要查询出的字段就可以,你要查询什么字段你都能绝对掌控。
0 请登录后投票
   发表时间:2010-05-18  
jameswxx 写道
大家给我凭了个新手帖,太伤我心了,呜呜。。。。。。
太不厚道了,不同意俺的说法也不用投新手帖吧

言之无物,纯为挑起论战的贴子
0 请登录后投票
   发表时间:2010-05-18  
aws 写道
各自有各自适用范围,如果hibernate随便什么情况都适用,那ibatis还有存在空间么?JDBC岂不是也都应该会被hibernate取代了

比如常见的多表联合查询,hibernate就算有延迟加载,但是那种先单表批量查出来实体再一条条查明细的方式就很不适合了,当然你可以说写HQL去做,但是都写HQL,那我还要你这ORM干嘛?我不会直接用nativeSQL?难道还要开发人员又学SQL又学HQL?SQL还能让DBA去审去调,HQL写不好又怎么办?那还能起到提高开发效率的目的么?

hibernate拿来处理一下CRUD,利用一下它二级缓存,这也就是它最适合的使用方式了,至于其他的,还是交给SQL去做吧


hibernate是对jdbc的封装,方便开发人员。
没了jdbc,hibernate就被掏空了。
0 请登录后投票
   发表时间:2010-05-18  
jameswxx 写道
大家给我凭了个新手帖,太伤我心了,呜呜。。。。。。
太不厚道了,不同意俺的说法也不用投新手帖吧


因为一般新手才喜欢讨论这样的问题,要不是我分够投票....
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics