Hibernate的优势?

时间:2010-11-12 00:19:25

标签: c# java nhibernate hibernate

任何人都可以给我一个使用Hibernate的主要优点吗?

7 个答案:

答案 0 :(得分:7)

Hibernate让您可以相对轻松地开发可维护的数据访问层。

Hibernate是建立在JDBC之上的,所以显然它无法做任何普通JDBC无法做到的事情。 Hibernate是一个很大的代码库;如果使用纯JDBC构建自己的数据访问层,则需要编写更多代码才能匹配其功能。在简单的报告应用程序中,编写所需的数据访问层功能相对容易;但随着应用程序变得越来越复杂,必须编写的代码量也会增加。让我举几个例子,这些例子不是手工实现的,而是开箱即用的Hibernate:

  1. 确保全局锁定获取顺序
  2. 确定对象的哪些字段已更改并适当地定制查询(总是可能不是一个好主意)
  3. 灵活地在不同的用例中切换各种提取策略(“这里我希望用户和地址一起加载,但这里我只想要用户”)
  4. 正如我之前所暗示的,手工实施这些并非不可能 - 毕竟,Hibernate是这样做的。但他们及时投入了大量资金。在许多(大多数?)应用程序中,专注于业务逻辑的复杂性将是开发人员时间的更好投资。

    请参阅我的comment in another thread有关Hibernate性能的信息。

答案 1 :(得分:1)

如果您需要使用应用程序来处理多个不同的数据库,我发现它很有用。例如,Hibernate可以更容易地将Oracle MySql DB替换为Oracle。

答案 2 :(得分:0)

易于开发,但仅适用于简单的应用程序。

请参阅How can I design a Java web application without an ORM and without embedded SQL中的答案了解更多信息。

答案 3 :(得分:0)

无需编写自己的DAL。

最初可能会有一个陡峭的学习曲线,但一旦你掌握了它的要点,它确实会带来更快的发展。

答案 4 :(得分:0)

这是ORM框架(对象关系maping)!

答案 5 :(得分:0)

ORM(如Hibernate)可以使用具有可靠,可靠的数据库支持的POJO / POCO,而且操作简便。 (注意:大惊小怪不保证为零,但通常少于其他解决方案.YMMV。)

答案 6 :(得分:0)

Hibernate提高了项目的生产力和可维护性。
这可能会有所帮助 http://mudassirshahzad.com/why-hibernate-should-be-chosen-for-projects-advantages-of-hibernate/