Java 冬眠优势?

Java 冬眠优势?,java,c#,hibernate,Java,C#,Hibernate,有人能告诉我使用Hibernate的主要优点吗 更易于开发,但仅适用于简单的应用程序 有关更多信息,请参见中的答案。无需编写自己的DAL 最初可能会有一个陡峭的学习曲线,但一旦你掌握了它的要点,它确实会导致更快的开发。这是ORM框架(对象关系映射) ORMs(如Hibernate)使使用pojo/POCOs成为可能,这些pojo/POCOs具有可靠的数据库支持,并且只需最少的麻烦。(注意:小题大做的数量不能保证为零,但通常比其他解决方案要少。YMMV。)如果您需要应用程序处理多个不同的数据库,我

有人能告诉我使用Hibernate的主要优点吗

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


有关更多信息,请参见中的答案。

无需编写自己的DAL


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

这是ORM框架(对象关系映射)

ORMs(如Hibernate)使使用pojo/POCOs成为可能,这些pojo/POCOs具有可靠的数据库支持,并且只需最少的麻烦。(注意:小题大做的数量不能保证为零,但通常比其他解决方案要少。YMMV。)

如果您需要应用程序处理多个不同的数据库,我发现它很有用。例如,Hibernate将使MySql数据库与Oracle数据库的交换变得更加容易。

Hibernate允许您相对轻松地开发可维护的数据访问层

Hibernate构建在JDBC之上,因此显然它不能做普通JDBC不能做的事情。Hibernate是一个大的代码库;如果您正在使用普通JDBC构建自己的数据访问层,那么您将需要编写更多代码来匹配它的特性。在简单的报告应用程序中,编写所需的数据访问层功能相对容易;但随着应用程序变得越来越复杂,必须编写的代码量也在增加。让我给你举几个例子,这些例子都不是简单的手工实现,但是在Hibernate中是现成的:

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


    请参阅我的关于Hibernate性能的文章。

    Hibernate提高了项目的生产率和可维护性。
    这可能会有所帮助

    相对于其他ORM的优势或使用任何ORM的优势?请,请,请,请自己研究一下您一直在问的一些问题。如果你只看一下,几乎所有你有问题的主题都被回答了1000次。问这个问题是懒惰的出路。为什么不针对复杂的应用程序呢?