繁体   English   中英

Javax.Persistence和Hibernate.Annotations之间的区别

[英]Difference between Javax.Persistence and Hibernate.Annotations

我正在阅读关于tutorialspoint的hibernate教程,他们说为了在Hibernate中使用注释,需要具有以下依赖项:

hibernate-annotations.jar
hibernate-comons-annotations.jar 
ejb3-persistence.jar

我已经使用Maven获取了这些依赖项,但是当他们继续他们的示例时,他们导入javax.persistence而不是org.hibernate.annotations来使用注释,例如@Entity @Table等...

javax.persistenceorg.hibernate.annotations什么区别? 为什么我觉得我下载了hibernate的注释而我没有使用它们?

您使用javax.persistence来保持与实现无关(即您可以在以后更改为使用不同的JPA实现。)如果您想使用Hibernate,可以使用org.hibernate注释。 但是建议只输入javax类。 然后Hibernate将提供实现,但可以通过切换不同的依赖项来替换。

javax。*包由JSR(java规范请求)定义。 像接口一样,javax包定义了契约。 提供者,如hibernate,提供实现。 通过使用javax导入,您可以将自己与特定提供程序分离,并保留将来切换到其他实现的能力。

以下是javax.persistence( https://jcp.org/ja/jsr/all )之外的其他JSR列表。 javax.persistence(2.0)规范由JSR-317定义。

javax.persistence是Java EE标准,是标准实现。 org.hibernate.annotations hibernate特定的实现就像明智的还有其他ORM框架实现,如Toplink,Eclipselink等。明天,如果你觉得切换框架变得更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM