这么多人在使用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的特有现象,而是整个社会、各个领域。
分享到:
相关推荐
hibernate效率注意的几个问题,批量删除和批量更新建议用JDBC,这是一个原则,当然有的时候可能必须用Hibernate来批量更新和批量删除,那么这个时候我想说的就是,Hibernate批量更新和删除效率并非传说中的那么差,...
总的来说,Hibernate作为Java开发中常用的ORM框架,极大地提高了开发效率,减少了与数据库交互的复杂性。通过学习和熟练掌握Hibernate,开发者能够更好地进行数据库操作,实现更加灵活和高效的业务逻辑。
java笔试题
在你的`hibernate.cfg.xml`配置文件中,找到或添加以下行: ```xml <property name="hibernate.show_sql">true ``` 这将让Hibernate在控制台打印出执行的SQL语句,但它们仍然是带有问号占位符的形式。 要显示不带...
四、为什么要用 Hibernate? 使用 Hibernate 可以大大减少操作数据库的工作量。Hibernate 可以简化载入类的过程,减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。此外,...
总的来说,Hibernate是Java开发中的一个重要工具,特别适合需要处理复杂对象模型和数据库交互的项目。它减少了重复的数据库操作代码,提高了开发效率,同时也带来了更高的灵活性和可移植性。对于想要深入了解和使用...
【标题】:深入理解Hibernate的查询机制:HQL查询 【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生...
《Hibernate 5.2.10.Final:深入解析企业级Java持久化框架》 Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,一直以来都是开发人员的重要工具。5.2.10.Final是Hibernate的一个稳定版本,它在前一...
struts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么....
通过Hibernate,开发者可以避免编写大量的SQL语句,提高开发效率,同时使代码更加可读和易于维护。它支持多种数据库,如MySQL、Oracle、PostgreSQL等。 **压缩包子文件解析** 1. **Hibernate Developer Guide.pdf*...
Hibernate3 是一个强大的Java持久...理解并熟练掌握Hibernate3的核心概念和使用方法,对于任何Java开发者来说都是必要的技能。在实际项目中,正确配置和使用Hibernate,可以有效地实现数据的持久化,同时降低维护成本。
然而,它也有不足之处,例如,开发效率和维护效率相对较低,且开发难度较大,代码量大。持久化对象通常是普通的Java对象(POJO),这也是ORM框架轻量级解决方案的体现。 Java持久化API(JPA)是Java EE 5规范的一...
Hibernate经典版 通过图解让你轻松学会Hibernate Hibernate经典版 通过图解让你轻松学会Hibernate
总结来说,Hibernate-Extensions是Hibernate的一个强大补充,它扩展了ORM的功能边界,使开发者能够更高效、更灵活地处理数据库操作。无论你是初学者还是经验丰富的开发者,这个完整的安装包都值得你拥有,因为它将为...
Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者将数据库操作抽象化,以对象的方式进行处理,极大地简化了数据库编程。`hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接...
总结来说,hibernate-extensions和Middlegen-Hibernate是提高Hibernate开发效率的利器,它们通过自动化的方式,帮助开发者快速生成数据库映射文件和Java实体类,使得开发工作更加高效和便捷。合理利用这两个工具,...
总结来说,Hibernate适合那些希望尽可能减少与数据库交互的直接接触,更注重开发效率的项目。而ibatis更适合于对SQL有深度需求,需要更精细控制数据库操作的场景。两者各有优势,选择哪一个取决于项目的需求和团队的...
#### Hibernate 是什么? Hibernate 是一款免费且开源的 Java 包,它极大地简化了与关系型数据库的交互过程。该框架允许开发者将日常使用的 Java 对象存储到数据库中,无需关注复杂的数据库操作,如从数据库表中...
#### 为什么学习 Hibernate - **简化开发**: Hibernate 大大减少了开发者处理复杂 SQL 查询的工作量,使得数据库操作更加直观。 - **提高效率**: 通过缓存机制、懒加载等技术,Hibernate 可以有效提高应用程序性能。...