【发布时间】:2010-11-12 00:19:24
【问题描述】:
任何人都可以告诉我使用 Hibernate 的主要优势吗?
【问题讨论】:
-
相对于其他 ORM 的优势或使用任何 ORM 的优势?
-
拜托,拜托,请您自己研究一下您一直在问的一些问题。如果您只看一下,几乎所有您有疑问的主题都已被回答了 1000 次。询问 SO 是偷懒的出路。
任何人都可以告诉我使用 Hibernate 的主要优势吗?
【问题讨论】:
Hibernate 让您可以相对轻松地开发可维护的数据访问层。
Hibernate 是建立在 JDBC 之上的,所以显然它不能做普通 JDBC 不能做的任何事情。 Hibernate 是一个庞大的代码库;如果您使用普通 JDBC 构建自己的数据访问层,您将需要编写更多代码来匹配其功能。在简单的报告应用程序中,编写所需的数据访问层功能相对容易;但是随着应用程序变得越来越复杂,必须编写的代码量也会增加。让我给你几个例子,这些例子并不容易手动实现,但 Hibernate 开箱即用:
正如我之前所暗示的,手动实现这些并非不可能——毕竟,Hibernate 做到了。但他们需要大量的时间投资。在许多(大多数?)应用程序中,专注于业务逻辑的复杂性将是对开发人员时间的更好投资。
请参阅我的comment in another thread,了解 Hibernate 性能。
【讨论】:
如果您需要您的应用程序处理多个不同的数据库,我发现它很有用。例如,Hibernate 将使将 MySql DB 替换为 Oracle 数据库变得更加容易。
【讨论】:
更容易开发,但仅适用于简单的应用程序。
更多信息请参见How can I design a Java web application without an ORM and without embedded SQL 中的答案。
【讨论】:
不必编写自己的 DAL。
最初可能会有一个陡峭的学习曲线,但一旦你掌握了它的要点,它确实会导致更快的发展。
【讨论】:
是ORM框架(对象关系映射)!
【讨论】:
ORM(如 Hibernate)使使用具有坚实、可靠的数据库支持的 POJO / POCO 成为可能,并且无需大惊小怪。 (注:大惊小怪的数量不保证为零,但通常比其他解决方案少。YMMV。)
【讨论】:
Hibernate 提高了项目的生产力和可维护性。
这可能会有所帮助
http://mudassirshahzad.com/why-hibernate-should-be-chosen-for-projects-advantages-of-hibernate/
【讨论】: