我正在研究需要在App Engine和其他Java Application Server上運行的項目。在App Engine中,我們使用數據存儲,而在其他環境中,我們將使用傳統的關係數據庫(主要是MySQL)。App Engine數據存儲和關係數據庫的便攜式JDO/JPA設計
我想知道是否有可能「有一個JDO/JPA模型兼容」。
如果可能的話。怎麼樣?具體來說,我們如何處理密鑰? Datastore要求我們使用它自己的Key對象或使用「Key as encoded string」,我們如何將這些關鍵字移植到關係數據庫中。
如果不是,最佳做法是什麼?我們現在的想法是定義抽象的DAO,並有兩套DAO實現。我相信最好的方式是使用Objectify進行關係數據庫的數據存儲和JPA。但這樣我們就無法利用GWT RequestFactory(我們正在使用的另一種技術)。或者我們可以嗎?
謝謝,但我如何將「編碼密鑰字符串」與「單獨主鍵」移植到關係數據庫中。就像GAE指南中的例子。 – xeranic 2013-03-21 21:56:28
定義「端口」。如果GAE/Datastore中有一些數據,你打算如何處理它?手動複製?脫離並附加到RDBMS?別的東西?通過說便攜式,你必須定義你的意思 – DataNucleus 2013-03-22 07:16:39
「端口」,我的意思是相同的代碼庫適用於不同的存儲技術。例如,我定義了一個JDO Entity,爲了確保它可以在GAE/Datastore上工作,我必須使用「Key as encoded string」+「單獨的字符串鍵」,因爲Entity是其他的子項。但對於RDBMS,我可以重用實體嗎?或者我必須用純String鍵重新定義實體。 – xeranic 2013-03-22 19:00:08