2011-03-15 2 views
0

내 조리법에 간단한 카테고리 시스템을 구현하고 싶습니다. 당신이 연결은 간단 볼 수 있듯이 이제JDO 관계 - App Engine

@PersistenceCapable 
public class Category { 
    @PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Key key; 
    @Persistent 
    private String name; 

    public Category(String name) { 
     this.name = name; 
    } 
    ... 
} 

:

@PersistenceCapable 
public class Recipe { 
    @PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Key key; 
    @Persistent 
    private List<Category> categories; 

    public Recipe(List<Category> categories) { 
     this.categories = categories; 
    } 
    ... 
} 

그리고 내 카테고리 엔티티 :

여기 내 레시피 엔티티입니다. Recipe을 만들 때 카테고리 목록으로 구성해야합니다. 이것은 위대합니다. 내 사이트에서 나는 단지 Recipe리스트 (또는 무엇이든)를 반복 할 수 있으며, 내가 원하는 카테고리를 검색하기 위해 .getCategories()을 수행한다.

그러나 데이터 저장소에서 모든 카테고리를 검색하고 싶다고 말하면 하나의 카테고리를 클릭하면 해당 카테고리에 대한 모든 래서 피를 검색 할 수 있기를 원합니다. 이것에 대해 가장 쉬운 것은 무엇입니까?

내가 가지고있는 모든 범주를 표시하려면 : select from Category.class group by name. 그러나 주어진 카테고리에서 모든 요리법을 검색하려면 어떻게해야합니까? 내 디자인에 JDO가 결함이 있습니까? 카테고리 = mydomain.Recipe FROM

답변

2

SELECT : 카테고리

이 "결함 JDO는"생각이 무엇인지 알지 못 하느냐는 ... JDO는 단순히 투명 지속성을 제공하고 당신이 원하는대로 당신이 당신의 클래스를 디자인 할 수 있습니다.

+0

'WHERE category = : category' - 내 'Recipe' 클래스에'category' 필드가 없습니다. –

+0

SELECT FROM mydomain.Recipe 여기서 categories.contains (: category)는 특정 Category가 들어있는 모든 Recipes를 반환합니다. – DataNucleus

+0

그래,하지만': category' 란 무엇입니까? 범주 객체? 카테고리 키? –

관련 문제