2009-10-08 71 views
1

我有一个RecipeJDO,其中包含一个列表< IngredientJDO>。 RecipeJDO“拥有”的成分。这对我来说一直工作好几个星期。现在我想介绍一个新课程“GroceryListJDO”,它引用了各种食谱所拥有的成分。JDO:引用另一个类“拥有”的实体集合

当我尝试坚持一个新的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 

好像有RecipeJDOGroceryListJDO的成分的“所有权”的问题。

我可能改变GroceryListJDO仅仅包含List<String>充当一种外键IngredientsJDO的,但那种失败的使用ORM-的目的,我不得不手动获取和我的DAO附加成分。

管理需要“附加”到多个容器JDO类的JDO集合的最佳方法是什么?

这是在Google App Engine上的JDO,FWIW。

回答

1

显然,这被称为“无主”关系,在GAE中为not directly supported。解决方法是我所担心的:只有一个JDO类可以拥有该集合;任何其他引用这些对象的JDO必须仅保留Keys,并手动管理引用对象的提取/保存。

相关问题