休眠优势? [关闭]

Posted

技术标签:

【中文标题】休眠优势? [关闭]【英文标题】:Hibernate advantage? [closed] 【发布时间】:2010-11-12 00:19:24 【问题描述】:

任何人都可以告诉我使用 Hibernate 的主要优势吗?

【问题讨论】:

相对于其他 ORM 的优势或使用任何 ORM 的优势? ***.com/questions/2754151/… 拜托,拜托,请您自己研究一下您一直在问的一些问题。如果您只看一下,几乎所有您有疑问的主题都已被回答了 1000 次。询问 SO 是偷懒的出路。 【参考方案1】:

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

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

    确保全局锁定获取顺序 确定对象的哪些字段已更改并适当地调整查询(可能始终不是一个好主意) 在不同用例中灵活切换各种获取策略(“这里我希望同时加载用户和地址,但这里我只需要用户”)

正如我之前所暗示的,手动实现这些并非不可能——毕竟,Hibernate 做到了。但他们需要大量的时间投资。在许多(大多数?)应用程序中,专注于业务逻辑的复杂性将是对开发人员时间的更好投资。

请参阅我的comment in another thread,了解 Hibernate 性能。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

为什么不用于复杂的应用程序?【参考方案4】:

不必编写自己的 DAL。

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

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

ORM(如 Hibernate)使使用具有坚实、可靠的数据库支持的 POJO / POCO 成为可能,并且无需大惊小怪。 (注:大惊小怪的数量不保证为零,但通常比其他解决方案少。YMMV。)

【讨论】:

【参考方案7】:

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

【讨论】:

以上是关于休眠优势? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

linux系统关闭休眠命令

睡眠 休眠 关闭硬盘 分别是啥意思?

Windows 7关闭睡眠(休眠)模式和删除休眠文件

如何关闭休眠模式

苹果电脑休眠怎么唤醒

ubuntu 笔记本电脑合上后就自动休眠了,怎么改成合上只关闭屏幕?