锁定老帖子 主题:再论hibernate是否适合做大型应用
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-18
黑暗浪子 写道 很无聊的文章~~
任何技术都有适用和不适用的环境。 如果说在任何环境下都要用hibernate,我反对~~ 但是如果说在任何环境下都不要用hibernate,我也反对~~ 因地制宜~~不要忘记这四个字~ 兄台说的好,任何语言的使用都应该是因地制宜的,没有所谓的绝对。 |
|
返回顶楼 | |
发表时间:2010-05-18
这种月经贴,没多久就会来一次,一堆情绪化的语言。
|
|
返回顶楼 | |
发表时间:2010-05-18
最后修改:2010-05-18
喜欢Hibernate呢,毕竟那么的优秀哈,也正视hibernate的缺点,关于hibernate的其他都是以讹传讹的多,
善用者少啊。 |
|
返回顶楼 | |
发表时间:2010-05-18
aws 写道 各自有各自适用范围,如果hibernate随便什么情况都适用,那ibatis还有存在空间么?JDBC岂不是也都应该会被hibernate取代了
比如常见的多表联合查询,hibernate就算有延迟加载,但是那种先单表批量查出来实体再一条条查明细的方式就很不适合了,当然你可以说写HQL去做,但是都写HQL,那我还要你这ORM干嘛?我不会直接用nativeSQL?难道还要开发人员又学SQL又学HQL?SQL还能让DBA去审去调,HQL写不好又怎么办?那还能起到提高开发效率的目的么? hibernate拿来处理一下CRUD,利用一下它二级缓存,这也就是它最适合的使用方式了,至于其他的,还是交给SQL去做吧 呵呵。。现在前台展示数据库都不用了。 |
|
返回顶楼 | |
发表时间:2010-05-18
[quote="aws"]各自有各自适用范围,如果hibernate随便什么情况都适用,那ibatis还有存在空间么?JDBC岂不是也都应该会被hibernate取代了 比如常见的多表联合查询,hibernate就算有延迟加载,但是那种先单表批量查出来实体再一条条查明细的方式就很不适合了,当然你可以说写HQL去做,但是都写HQL,那我还要你这ORM干嘛?我不会直接用nativeSQL?难道还要开发人员又学SQL又学HQL?SQL还能让DBA去审去调,HQL写不好又怎么办?那还能起到提高开发效率的目的么? hibernate拿来处理一下CRUD,利用一下它二级缓存,这也就是它最适合的使用方式了,至于其他的,还是交给SQL去做吧[/quote]
“如果hibernate随便什么情况都适用,那ibatis还有存在空间么?JDBC岂不是也都应该会被hibernate取代了”,他们不是矛盾的,不是非此即彼的。
“hibernate就算有延迟加载,但是那种先单表批量查出来实体再一条条查明细的方式就很不适合了”,难道你不知道hibernate的左外连接查询吗?取决于哪种方式查询,是依赖于开发者的策略,而不是hibernate自行决定的,当然它有默认的行为。很奇怪你的想法,为什么用hibernate就不愿意些hql??这是什么逻辑? |
|
返回顶楼 | |
发表时间:2010-05-18
黑暗浪子 写道 很无聊的文章~~
任何技术都有适用和不适用的环境。 如果说在任何环境下都要用hibernate,我反对~~ 但是如果说在任何环境下都不要用hibernate,我也反对~~ 因地制宜~~不要忘记这四个字~ 这位兄弟,你有认真的看这个帖子吗?我说了我不是hibernate的狂热粉丝,我只是反驳hibernate不适合做大型项目的观点,我哪里说了任何环境都要使用hibernate?请你看清楚再发表你的高见吧 |
|
返回顶楼 | |
发表时间:2010-05-18
neaudiy 写道 数据量巨大,性能要求苛刻的系统,hibernate很难达到要求
所谓的大型项目的很难确定,不知道有多大,但是不需要上面要求的我觉得基本是没问题 请你举出具体的场景,如果确实在hibernate达不到的情况下,那么我们再讨论其他工具是否能达到,比如jdbc,以此来甄别出到底是hibernate的问题还是其他原因。 |
|
返回顶楼 | |
发表时间:2010-05-18
murainwood 写道 其实问题不是在于Hibernate,而是在于用Hibernate的人。
举个很简单的例子,为啥要有驾照考试?不是说汽车危险,而是开汽车的人如果不懂交通规则,当然会出事故。 所以如果团队中没有对Hibernate有深刻理解和钻研的技术人员的话,那还是先三思一下吧。 说得很好 |
|
返回顶楼 | |
发表时间:2010-05-18
黑暗浪子 写道 很无聊的文章~~
任何技术都有适用和不适用的环境。 如果说在任何环境下都要用hibernate,我反对~~ 但是如果说在任何环境下都不要用hibernate,我也反对~~ 因地制宜~~不要忘记这四个字~ 这点说的很对 没有一种技术是通用的 选用最有针对性的才正确 (附带个疑问啊 这不是好几前的帖子吗 怎么突然又出来了??) |
|
返回顶楼 | |
发表时间:2010-05-18
没有啥好说的了,说那个框架好,哪个坏,也没有啥意义,如果一个团队都是hibernate高手,那理所当然用它,如果对他熟悉的人很少,建议学习ibatis,学习成本也低,懂sql基本就OK了,也不需要学习HQL,再招个DBA,速度哇哇快,各用各的吧,我是习惯了ibatis了,暂时也没发现他有什么不好,楼主说hibernate再好,我也不想换了。
|
|
返回顶楼 | |