2011-05-01 31 views
2

我想用SPRING ROO在GAE上做一個非常簡單的應用程序。GAE僅適用於BigTable(或其他數據庫)嗎?

我不明白,Hibernate和JPA之間的差值(持久性?),但我想知道什麼建議我(「安全」)應用程序,將在GAE作品...

在其他方面,你推薦我使用BIGTABLE + HIBERNATE + JPA(這是否是最佳實踐)?

Tkx,

+0

JPA是專爲RDBMS數據存儲,而JDO是專爲所有類型的數據存儲。使用JPA對BigTable沒有多大意義 – DataNucleus 2011-05-03 15:07:24

回答

1

GAE僅適用於BigTable(又名datastore,請參閱Datastore Overview)。它提供了各種各樣的API:從「本地」low-level API到「本地」高級別(JDO和JPA)。介於兩者之間的第三方API是Objectify,Twig等。我建議讓它們看起來很近。最重要的是,你有專門的API,如Blobstore API

在Hibernate和JPA的情況下,它們都是可以用於大多數關係數據庫的API,但Hibernate也是一種實現--JPA不是。 JPA需要實現,而Hibernate是更常見的一種。當你使用GAE時,你可以完全忘記Hibernate(它不可用)。由於數據存儲的非關係性質,也忘記了大多數JPA功能不受支持。

GAE JPA使用舊版本的DataNucleus實現。這句話是從DataNucleus community page

谷歌的App Engine(TM)平臺 使用 DataNucleus將-的AppEngine插件提供的Java持久(JDO或JPA) 其BigTable的數據存儲。這個 插件是由Google開發的,並且是 他們的責任。它目前 只適用於版本1.1的 DataNucleus,似乎並沒有積極開發 。

將是一個尖來看看第三方API ...

相關問題