Hibernate vs JPA与JDO – 各自的优缺点?

问题:

我熟悉ORM作为一个概念,几年前我甚至使用nHibernate进行.NET项目;然而,我没有跟上Java中的ORM主题,也没有机会使用任何这些工具。
但是,现在我可能有机会为我们的应用程序开始使用一些ORM工具,以试图摆脱一系列遗留的Web服务。
我很难说出JPA规范之间的差异,您与Hibernate库本身之间的差异以及JDO提供的功能。
所以,我明白这个问题有点开放,但是我希望对以下方面有一些看法:

  • 每个的利弊是什么?
  • 你会建议一个新项目?
  • 使用一个框架对另一个框架有意义吗?

回答:

一些注释:

  • JDO和JPA都是规范,而不是实现。
  • 这个想法是您可以交换JPA实现,如果您将代码限制为仅使用标准JPA。 (JDO同上)
  • Hibernate可以用作JPA的一个这样的实现。
  • 但是,Hibernate提供了一个本机API,具有JPA以上的功能。

IMO,我会推荐Hibernate。
如果need使用Hibernate特定的功能,您应该怎么做才能做出一些评论/问题。有很多方法可以看这个,但我的建议是:

  • 如果您不担心供应商捆绑的前景,那么请在Hibernate和其他JPA和JDO实施including之间选择各种供应商的具体扩展。
  • 如果您担心供应商捆绑的前景,并且您不能使用JPA而不使用供应商特定的扩展,那么不要使用JPA。 (JDO同上)。

实际上,您可能需要权衡how much,您担心供应商的联系与how much您需要这些供应商特定的扩展。
还有其他因素,就像你/你的员工知道各自的技术有多好,产品在许可中花费多少,而且你认为JDO和JPA将来会发生什么样的故事。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Hibernate vs JPA vs JDO – pros and cons of each?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

70 + = 76