Hibernate还是JPA?

Sou*_*abh 3 java spring hibernate jpa

使用Spring 3.0时,建议使用hibernate或JPA.与Spring 3.0一起使用时,它们的优点和缺点是什么?

注意:我们也假设将它与Spring Data Access一起使用.

Ade*_*ari 10

我会说,Hibernate提供的JPA实现.为什么?因为

  • 如果您需要,稍后切换到其他一些JPA实现会更容易
  • Hibernate是主流和最受欢迎的ORM之一
  • 很多书可用
  • 丰富的文档,很棒的参考资料
  • 很容易在SO和其他地方获得支持

实际上,我也不介意使用Hibernate独有的功能.我认为坚持使用Hibernate没有任何问题,因为它不是标准的.顺便说一句,是什么让你认为Spring是标准的.它没有,你也没关系,因为它有效.类似的事情可以说是Hibernate.如果你不清楚自己在做什么,Hibernate有时会变得毛茸茸.


nan*_*nda 9

我的偏好是带有EclipseLink的JPA.原因:

Bozho:有一些我发现,不幸的是它不是那么明显,因为它只发生在一些极端情况下.一些我能想到的:

  • FWIW"参考实施"仅指"证明规范可以实施的概​​念证明".它并不意味着"最好","首选"或其他任何东西.这根本不会使你的推荐无效,但只是那个特定的声明(关于RI)本身就没有价值. (2认同)

dar*_*ioo 5

确切地说,您应该使用Java Persistence API,然后您可以使用Hibernate作为实现.

没有实现的JPA是不值得的.

JPA是一个标准,所以如果你只使用它的API,你可以用其他一些JPA实现代替Hibernate.如果您使用某些Hibernate的特定API,因为您需要普通JPA未提供的功能,那么您将拥有供应商锁定方案,因此您必须小心这一点.