2009-10-08 1 views
1

< IngredientJDO>을 포함하는 RecipeJDO이 있습니다. RecipeJDO은 성분을 "소유"합니다. 이것은 몇 주 동안 저에게 잘 돌아 왔습니다. 이제 새로운 요리법 인 "GroceryListJDO"을 소개하고자합니다.이 요리법은 다양한 요리법이 소유 한 재료를 참조합니다. JDO : 다른 클래스가 소유 한 엔티티 컬렉션을 참조하는 중

나는 다음 내가 할 새로운 GroceryListJDO을 유지하려고

: RecipeJDOGroceryListJDO의 성분을 "소유"의 문제가있는 것처럼

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 

보인다.

아마 단지 IngredientsJDO에 외부 키의 일종 역할을하는 List<String>을 포함 GroceryListJDO를 변경할 수 있지만, 패배의 종류 ORM- 사용의 목적은 내가 수동으로 가져오고 내 DAO에 재료를 부착해야 할 것 .

여러 컨테이너 JDO 클래스에 "첨부"해야하는 JDO 모음을 관리하는 가장 좋은 방법은 무엇입니까?

Google App Engine의 JDO 인 FWIW와 함께 사용됩니다.

답변

1

분명히 이것은 "소유되지 않은"관계로 알려져 있으며 GAE에서는 not directly supported입니다. 해결 방법은 두려워하는 것입니다. 단 하나의 JDO 클래스 만 컬렉션을 소유 할 수 있습니다. 이러한 객체를 참조하는 다른 JDO는 Keys, 만 지속하고 참조 된 객체의 페치/저장을 수동으로 관리해야합니다.