为什么我们使用JPA注释而不是hibernate注释

时间:2015-01-28 11:50:03

标签: hibernate jpa

我的Sample Hibernate Application中有一个POJO,它指向我数据库中的表。在我的POJO类中,来自JPA(javax.persistence.Entity)的@Entity注释。

放置JPA注释而不是Hibernate API需要重要的是什么。

提前致谢...!

6 个答案:

答案 0 :(得分:4)

我想这可能是您问题的答案:What are the differences between Hibernate and JPA?

使用JPA注释,您可以使用任何JPA提供程序,而不仅仅是Hibernate,例如的EclipseLink。

答案 1 :(得分:1)

Hibernate只有其专有功能的注释。对于标准功能(如声明类是实体,指定其表名等),它依赖于标准的JPA注释。

这是一件好事,因为如果你只使用标准的JPA功能,你应该可以使用任何其他JPA实现而不是Hibernate。

答案 2 :(得分:0)

您使用hibernate作为JPA API的实现。 您应该能够在不更改代码的情况下使用其他实现(如EclipseLink)更改休眠。 这就是你应该只使用JPA注释的原因。

答案 3 :(得分:0)

使用JPA注释的优点是JPA是Oracle Java标准,使用标准总是好的。如果明天的hibernate不再流行并且其他ORM工具即将推出怎么办?

答案 4 :(得分:0)

使用JPA的真正理由是,大多数Java开发人员都会理解您所编写的内容。提示您可能关闭提供者/ ORM的论据对大多数项目都没有意义,因为这几乎从未发生过。但是,您的代码可能会被许多不同的开发人员在其生命周期中阅读,如果您使用他们已经知道的工具和技术,而不是一些没有人听说过的库,那将会很好。在这种情况下,JPA允许您比原始的hibernate注释更容易与未来进行通信。

答案 5 :(得分:0)

JPA是标准规范。 Hibernate是JPA规范的实现。

Hibernate实现所有的JPA批注。

Hibernate团队建议使用JPA注释作为最佳实践。