【问题标题】:Pros & Cons: Hibernate vs. EJB 3优缺点:Hibernate 与 EJB 3
【发布时间】:2010-03-16 17:06:18
【问题描述】:

Hibernate 和 EJB3 相对于彼此的优缺点是什么?

我找到了this 的帖子,但它并没有真正解决我的问题。如果我对这两种技术都没有任何特别的联系,那么是什么让我选择其中一种?或者在某些情况下我想同时使用两者?

谢谢, 扎克

编辑:回应 cmets:我对 EJB3 了解不多。我只是想了解这对我的公司是否可行。如果 EJB3 无法与 Hibernate 相比,请解释原因。

【问题讨论】:

  • 哇!真的很棘手的问题。我猜发布/缺陷修复周期更快的团队会赢得这一轮。只要 hibernate 遵守 JPA 规范,这个问题就会潜伏,但如果他们决定分支并合并一些非常好的特性,那么......
  • Hibernate 和 EJB3 不进行比较。可以将 EJB3 和 spring 进行比较。
  • @Bozho 我想他的意思是 Hibernate 与 JPA(经常与 EJB3 混淆)
  • 你应该澄清这个问题。如果您的问题是关于 Hibernate 和 JPA,请重写它,因为 EJB3 不仅仅是 JPA,而且您无法将 EJB3 作为一个整体与 Hibernate 进行比较。

标签: java hibernate orm jpa


【解决方案1】:

JPA 提供 Hibernate 功能的子集,但 EJB3 提供 Hibernate 未解决的其他服务(例如 Web 服务、EJB、计时器服务)

与 Hibernate 相比,JPA 提供以下优势:

  • 标准化 API
  • 厂商独立(可以在Hibernate、TopLink、OpenEJB等之间切换)

Hibernate 提供以下好处:

  • 广泛使用
  • 事实上的标准
  • 来自 Spring、Grails 等的直接支持。
  • 可能更好的工具支持
  • 比 JPA 更多的功能

您可以做的是使用 JPA 在 EJB 中编写应用程序,然后在必要时使用 Hibernate 特定的功能。或者,如果您不关心标准化和供应商锁定,则只需使用普通的 Hibernate 进行持久化。实际上,您不太可能在 Hibernate 和其他提供商之间切换,但确实会发生。

【讨论】:

  • Nitpick:Spring 也支持 JPA
猜你喜欢
  • 1970-01-01
  • 2015-05-18
  • 2011-01-02
  • 2016-06-27
  • 1970-01-01
  • 2011-11-03
  • 2016-10-29
  • 2023-04-04
  • 2012-02-02
相关资源
最近更新 更多