我對這兩個批註API感到困惑。 我google了一下,明白JPA是接口,Hibernate註釋是實現。 是嗎?哪一個更好:JPA或Hibernate註釋?
但是我應該在我的項目中使用哪一個?哪一個更好,爲什麼?
我對這兩個批註API感到困惑。 我google了一下,明白JPA是接口,Hibernate註釋是實現。 是嗎?哪一個更好:JPA或Hibernate註釋?
但是我應該在我的項目中使用哪一個?哪一個更好,爲什麼?
我會去JPA,因爲您可以隨時輕鬆更改實現(即JPA供應商),只需更改一行即可.Hibernate和其他供應商,如OpenJPA,Toplink提供了JPA標準的實現。
關於註釋,JPA和Hibernate都提供了對javax.persistence
註釋的支持。
JPA VS休眠
一)JPA是持久性API,你的代碼應該使用。 b)JPA Api會將調用傳遞給實際的持久性提供者 (例如:Hibernate/TopLink)來完成實際的工作。
c)如果您是從性能看何衛青,這將是 依賴於實際peristence提供商(休眠/ TopLink的),而不是 JPA作爲其只是一個包裝層。 d)如果您正在尋找代碼依賴關係,那麼JPA使得更多的 有意義,因爲您的代碼依賴於標準的Java Api。
E)如果您已經使用Hibernate的,那麼你會發現,某些功能 缺少在JPA像標準的查詢etc.This並不意味着 你不能寫條件查詢您的應用程序,你需要得到 來自JPA實體管理器的會話對象,現在您可以像hibernate項目中的 一樣好。
但現在你的代碼是依賴於特定的IMPL(休眠),去 着你可以看到在JPA獲取添加更多的東西(2.0)
F)如果你使用JPA:我的看法是你應該,API是乾淨的,儘管不是你需要的是他們,但是是一個很好的進步。
基本上休眠實現JPA規範並增加了上述第規格更多的功能。所以Hiberate特定的註釋是那些增加的功能。所以你使用JPA批註,直到遇到一個迫使你使用Hibernate特定功能的映射,然後你需要使用他們的註釋來獲得這些功能。
JPA不是「註釋API」。這是一個允許爲持久化類定義元數據的API(使用註釋或XML)。我建議你回到互聯網搜索,因爲有這麼多的鏈接可以解釋這些基礎http://en.wikipedia.org/wiki/Java_Persistence_API – DataNucleus