优点与缺点:Hibernate与EJB 3

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

我找到了这篇文章,但它并没有真正解决我的问题。 如果我对这两种技术没有任何特殊的联系,那会导致我选择一种技术吗? 或者是否有我想要同时使用它们的情况?

谢谢,扎克

编辑:回应评论:我对EJB3了解不多。 我只是想了解它是否适​​用于我的公司。 如果EJB3不能与Hibernate相媲美,请解释原因。

JPA提供了Hibernatefunction的子集,但EJB3提供了Hibernate无法解决的其他服务(例如Web服务,EJB,Timer服务)

与Hibernate相比,JPA具有以下优点:

  • 标准化API
  • 供应商独立性(可以在Hibernate,TopLink,OpenEJB等之间切换)

Hibernate具有以下优点:

  • 广泛使用
  • 事实上的标准
  • Spring,Grails等的直接支持
  • 可能更好的工具支持
  • 比JPA更多的function

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