你凭什么说Hibernate效率低?
这么多人在使用Hibernate,但似乎Hibernate效率低成了一种共识。
我不知这种共识是何时达成的,只是觉得非常的莫名其妙。
当你追问:Hibernate哪里效率低了?
他们往往就会比较惊愕,通常会回答:网上都是这么说的。
当你再追问:Hibernate为什么效率低?网上是怎么说的?
有的会说因为Hibernate的HQL要转换成SQL,损失效率。
有的说Hibernate基于JDBC封装,肯定比JDBC效率低。
有的说批量处理效率有问题。
有的说统计效率有问题。
原因大概道听途说的会有好几种,但没有一个有条理能清晰告诉你:
1. 因为XXX,导致XXX,所以XXX。
2. 因为XXX,导致XXX,所以XXX。
当你再追问:你说的这个原因造成的性能消耗是什么数量级?
可以肯定的说他们没人能够回答你。
他们也没人知道Hibernate作者曾悬赏100美金一条针对生成的SQL进行优化。
但正是他们在四处宣扬:Hibernate效率低!
我不禁要反问一句:你凭什么说Hibernate效率低?
有的人误用,有的人曲解,有的人把未知原因胡乱归结了事。
最后形成了Hibernate效率低的结论。
而这中间缺乏分析、论证、测试等诸多环节,完全不负责任。
对于小众使用的框架而言,还稍微能让人忍受这样的胡言乱语。
对于大众使用的框架而言,这样的胡言乱语实在让人难以接受。
并且这样的信息还是大面积的传播。
这说明一个什么问题?
我们普遍的缺乏一种钻研论证、实事求是的精神,归根结底是浮躁。
Hibernate只是一个个案,而实际上这是一种现象,它普遍存在。例如某国产应用服务器,从第一个版本发布就号称性能堪比WebLogic,超过WebSphere、JRun。
干巴巴的几句话放在它的产品说明书上,完全没有数据支撑,反正也不会有人去较真,对不对?
这样的现象越来越多了,就不禁让人感到担忧。
现在搜索资料,可以看到越来越多的错误结论的资料,甚至还被四处转载。
正是缺乏论证精神导致这样的资料越来越多,也正是因为缺乏论证精神而导致这样的资料被四处传播。
真的还想说点什么,但又实在无话可说,这不只是在IT的特有现象,而是整个社会、各个领域。