1

List< IngredientJDO > を含むRecipeJDOがあります。材料を「所有」します。これは私にとって数週間うまくいっています。それでは、さまざまなレシピの材料を参考にし た新しいクラス「GroceryListJDO 」をご紹介します。RecipeJDO

新しいものを永続化しようとするとGroceryListJDO、次のようになります。

javax.jdo.JDOException: Duplicate property name: ingredients_id_OWN
NestedThrowables:
org.datanucleus.exceptions.NucleusException: Duplicate property name: ingredients_id_OWN
javax.jdo.JDOException: Duplicate property name: ingredients_id_OWN

RecipeJDOとの間の材料の「所有権」の問題があるようGroceryListJDOです。

の一種の外部キーとして機能するGroceryListJDOを単に含むように変更することもできますが、そのようなものはORMを使用する目的を損ないます-DAOで材料を手動でフェッチしてアタッチする必要があります。List<String>IngredientsJDO

複数のコンテナJDOクラスに「アタッチ」する必要があるJDOコレクションを管理するための最良の方法は何ですか?

これは、Google App Engine、FWIWのJDOを使用したものです。

4

1 に答える 1

1

どうやら、これは「所有されていない」関係として知られており、GAEでは直接サポートされていません。回避策は私が恐れていたものです。コレクションを所有できるのは1つのJDOクラスだけです。これらのオブジェクトを参照する他のJDOは、永続化する必要がKeys,あり、参照されるオブジェクトのフェッチ/保存を手動で管理する必要があります。

于 2009-10-09T01:57:28.937 に答える