【问题标题】:Reasons to use a persistence framework in Java EE?在 Java EE 中使用持久性框架的原因?
【发布时间】:2012-05-17 13:51:55
【问题描述】:

我正在开发一个 Java EE 应用程序,我使用 Spring 作为框架。 现在我看到人们谈论 ORM 框架(Hibernate/JPA/iBatis...),但我不知道使用这些框架的原因可能是什么?

我的意思是这些框架将在项目功能和性能方面发生什么变化?

如果你能给我一个清晰的例子,那就太好了。

【问题讨论】:

标签: spring hibernate jakarta-ee


【解决方案1】:

因为您会厌倦为整个 java 对象编写 SQL 插入/更新/选择语句,并在对象更改时保持对象 SQL 代码的形状。 JPA 实际上是 Java EE 标准的一部分。

但是,除了非常简单的情况外,它不会提供任何方法让您不知道自己在使用数据库做什么。我的经验是,任何 JPA 框架都会为性能问题跟踪和调试增加另一层复杂性。

最后,您可能最终需要了解 JPQL(JPA 的 SQL-ish 语法)如何为 JPA 提供程序(OpenJPA、HIbernate、eclipse 链接..)和数据库实现的每个组合转换为 SQL。这将是非常重要的。

如果您没有特定的性能要求并且只想要简单的对象持久性,那就去吧! Hibernate 似乎是最先进的 atm。

【讨论】:

    【解决方案2】:

    为了避免为所有内容编写自己的 SQL,并[部分地]弥合对象-关系鸿沟(“深渊”)。

    对于简单的需求,ORM 非常棒,可以让您不必再考虑一些 DB 问题——但需要注意的是,您仍然需要了解 DB 端实际发生的情况,以防止可能对性能造成严重影响。

    对于复杂的需求,你将学会理解为什么他们将 ORM 称为“计算机科学的越南”……“我们已经吸取了越南的教训……不要去越南。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-15
      • 2012-01-24
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多