簡體   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