2013-02-15 73 views
-2

我已經在ejb3上使用JPA提供程序休眠,現在正在處理hibernate。 但我困惑,這些技術之間的區別是什麼,因爲jpa,hibernate和ejb3我沒有發現這種差異。 任何機構可以請解釋的主要特點還是什麼都JPA,EJB3和hibernate有什麼區別?

+2

真的嗎?!關閉,因爲它不是一個真正的問題?!只要它以'?'結尾,那麼這是一個問題,值得回答。如果它聽起來對你來說很不重要,那麼在撰寫評論時對超過900人來說聽起來並不是這樣。 – 2014-02-08 23:28:43

回答

4

持久性已「EJB3核心」,和一個新的標準 形成,Java持久性API的「爆發」(兩者之間的主要區別JPA)。 JPA使用 javax.persistence包,並在EJB3規範JSR 220內的單獨的 文檔第一指定,但後來被移動到它自己的 規範JSR 317值得注意的是,javax.persistence將不需要的 EJB容器,從而將工作在Java SE環境中。

來源:http://en.wikipedia.org/wiki/Java_Data_Objects#JDO_vs._EJB3_vs._JPA

其它說明:http://en.wikipedia.org/wiki/Java_Persistence_API#Related_Technologies

Hibernate是JPA規範的實現。

+0

什麼是技術明智的差異意味着什麼功能?我的英語不太好。 – 2013-02-15 08:17:42

+3

Hibernate不是* JPA的「參考實現」。 EclipseLink用於JPA2,TopLink用於JPA1。參考實現僅僅是一個示例,說明spec是可以實現的,僅此而已。 – DataNucleus 2013-02-15 08:29:46

+1

@DataNucleus,感謝您糾正我。相應地更新了答案。 – 2013-02-15 08:47:11