簡體   English   中英

Hibernate Native vs Hibernate JPA

[英]Hibernate Native vs Hibernate JPA

Hibernate網站說有一個原生的Hibernate API以及一個JPA的實現。 Native API和JPA實現之間有什么區別? 優點缺點?

我正在使用Spring MVC應用程序,使用Tomcat作為容器,使用MySQL進行持久化。 我過去分別使用Doctrine和Entity for PHP和.NET,使用代碼優先方法。 我想有類似Java的東西。 我是Spring的新手,從未使用過Hibernate。 我的團隊想使用ORM,而Hibernate似乎是最受歡迎的。 我們不確定Hibernate將如何鍛煉,或者我們是否應該使用原生或JPA api。 該應用程序將是數據驅動,數據輸入,報告等。

我已經讀過,使用JPA可以更容易地切換到另一個JPA實現,雖然我不知道是否需要它。

JPA是通過面向對象的API訪問關系數據庫的標准。 Hibernate是此API的一個實現。 當你想使用JPA時,你需要一些供應商來實現它,Hibernate是一個不錯的選擇,但還有其他像EclipseLink。

Hibernate的存在時間比JPA長。 原生的舊API(JPA的模型)仍然存在,有時它提供的可能性比通過JPA暴露的更多(例如孤兒刪除)。 如果您需要那些,您需要使用本機API。 使用JPA有其他優點,最重要的(在我看來)更多的開發人員知道它。 而你仍然可以通過配置使用一些Hibernate細節。

一般而言,IMO支付使用標准API(此處為JPA),並對要使用的實現做出經驗豐富的決定。

大多數本地使用Hibernate的教程都很老 - 就像Hibernate 3一樣,這是一個JPA之前的版本。 雖然有充分的理由使用它,但它們(IMO)通常不適用於普通觀眾。 所以如果你剛剛開始在這個領域學習,我建議從JPA開始。

關於異地資源的建議:有充分的理由,這里不是主題。 但是目前官方的Hibernate文檔將是一個良好的開端,就像尋找至少Hibernate 4的動態一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM