2012-07-10 66 views
0

我剛剛開始涉足谷歌猿引擎。現在我正在使用JDO和數據存儲來持久保存我的數據。目前爲止非常酷,我擁有大部分的工作方式。但是,我有一些標準的練習題。我的直覺告訴我,有幾種設計選擇我認爲不是最好的,即使不是徹頭徹尾的壞。JDO Appengine Paradigmns

你通常有一個「包裝」類型的類來處理獲取,更新,插入和刪除每一個持久化對象?(這種感覺就像矯枉過正)

我沒有做任何類型檢查的Query.execute ?(這真的看起來不對)

我所有的類都使用IDGeneratoryStrategy.IDENTITY在每個可能在基類中的對象我猜?

正如我所說,我剛剛開始涉足這個問題,因爲上面的問題表明,但任何輸入或鏈接將不勝感激。僅供參考,我的最終結果是使用應用程序引擎作爲android應用程序的數據存儲區。然而,我看到的appengine越多,我認爲我可以將它用於更多的事情,而不僅僅是爲我的android應用程序存儲數據。

回答

0

包裝類型:不,您爲什麼要?你使用了對你的應用程序有意義的東西,如果有些東西變得笨重,你可以重新設計它。所有應用程序都不同。

類型上Query.execute檢查: JDO實現檢查類型傳入的數據,你可以走得更遠,使用DataNucleus將JDO類型安全查詢也(JDO3.2的一部分可能在某個時候)。您需要GAE JDO插件基類的那個

IDENTITY戰略的一部分的V2:不宜做...具有作爲基類意味着所有的對象的所有ID是常見的(即所有在相同的繼承樹),並且所有的id值都來自同一個源。最好有根據角色構建的課程。

+0

感謝您的意見。我將檢查DataNucleaus類型安全查詢。我在網上找到的幾個不同的例子使用繼承和每個對象的「包裝器」類型。由於我多次看到它,我想知道是否有這樣做的一種常見做法。再次感謝您的意見 – user1376713 2012-07-11 09:33:04