想要在Google App Engine上開發我的項目。我想使用谷歌大表作爲數據庫。對於數據庫我有兩個選項JPA和JDO。請你們建議我嗎?兩者對我來說都是新的,我需要學習它們。所以我會在回覆之後專注於一個。JPA和JDO之間的區別?
回答
討論。 http://www.datanucleus.org/products/accessplatform_2_1/jdo_jpa_faq.html
DataNucleus AccessPlatform支持Java持久性的JDO和JPA規範。因此,這兩種技術都沒有「既得利益」,相信用戶可以選擇他們最喜歡的產品。網絡上有很多關於JDO和JPA的FUD,主要由RDBMS供應商實施。本FAQ更正許多這些點
JPA是持久性的領先java標準。所以我會說如果您使用RDBMS並需要ORM,請使用JPA。
Hibernate通常用作JPA實現。如果你需要一些額外的功能,你可以使用hibernate特定的註釋。
這個問題看起來已經由於您使用的數據核,看到他們對JDO VS JPA的常見問題,在這裏JDO vs JPA for Java on Google App Engine
但我想使用谷歌數據存儲(大表)使用數據核心。我按照JPA或JDO – user246160 2010-02-12 05:37:27
Hibernate可能「通常用作JPA實現」,但它只適用於RDBMS,因此將無法工作GAE/J。根據GAE/J的文檔,JDO與該數據存儲非常接近,但如果持久性模型簡單並且查詢需求也很簡單,那麼JPA同樣可以使用。使用JDO或JPA,用戶需要使用DataNucleus – DataNucleus 2010-02-12 10:13:27
的一個重要區別是,JDO(合邏輯和數據),支持豐富的域模型,其實所有的持久對象可以有一個參考當前的PersistenceManager,發出查詢,並且,我想,可能沒有默認的字段持久性。
JPA不支持此類軟件設計。實際上,每個實體都沒有對PersistenceManager的引用,爲了使它不得不求助於ThreadLocal變量,這不是一個非常優雅和強大的解決方案。
因爲GAE BigTable不是RDBMS,所以JDO是更好的選擇。在Aphache JDO有一些詳細的比較文章,這對我很有幫助。
JPA通過ORM持久化java對象到關係數據,而JDO是java對象持久化的更一般的規範。因此,使用JDO將爲您的對象提供更多的存儲實現選項自由。
- 1. JPA和JDO規範有什麼區別?
- 2. java中的SDO和JDO之間的區別
- 3. Spring-JPA和Spring-Data-JPA之間的區別
- 4. spring-data-jpa和spring-boot-starter-data-jpa之間的區別
- 5. 之間的〜/和的區別../
- 6. Datanucleus JPA和JDO實現與RDBMS之間的性能差異?
- 7. '#','%'和'$'之間的區別
- 8. {!!之間的區別!!}和{{}}
- 9. '+ ='和'= +'之間的區別?
- 10. 「。+」和「。+?」之間的區別
- 11. .eq之間的區別。和==
- 12. #。/和#之間的區別。 ./
- 13. !=和!之間的區別==
- 14. 「%〜dp0」和「。\」之間的區別?
- 15. | =和^ = css之間的區別
- 16. 之間的區別。和#
- 17. ==和case之間的區別?
- 18. 「**/* /」和「** /」之間的區別?
- 19. jQuery - '。'之間的區別和「#」
- 20. 「?1」和「?」之間的區別
- 21. `%in%`和`==`之間的區別
- 22. fmod和%之間的區別
- 23. 之間的區別:+和:+
- 24. JPA:在fied和getter上設置@Id之間的區別
- 25. 休眠時JTA,JPA和普通JDBC之間的區別
- 26. JPA級聯註釋和Hibernate級聯註釋之間的區別
- 27. 彈簧數據JPA和ORM之間的區別
- 28. JPA實體和Hibernate實體之間的區別
- 29. Hibernate庫和Hibernate JPA庫之間的區別
- 30. 類區域和堆之間的區別
鏈接再次死機。 – 2018-02-03 12:20:01