0
我想爲我的食譜實現一個簡單的分類系統。JDO關係 - App Engine
這裏是我的食譜實體:
@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;
}
...
}
而且我類別實體:
@PersistenceCapable
public class Category {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String name;
public Category(String name) {
this.name = name;
}
...
}
現在你可以看到關聯很簡單。當我創建一個Recipe
時,我確保我用類別列表構造它。這很棒。在我的網站上,我可以迭代一個Recipe
列表(或其他),然後只需執行.getCategories()
即可檢索我需要的類別。
但是,假設我想檢索數據存儲中的所有類別,並且當我點擊一個類別時,我希望能夠檢索該類別的所有配方。最簡單的方法是什麼?
顯示我擁有的所有類別:select from Category.class group by name
。 但是,如何檢索給定類別下的所有食譜?我的設計是否對JDO有缺陷?
'WHERE category =:category' - 我的'Recipe'類沒有'category'字段。 – 2011-03-15 07:50:01
從mydomain.Recipe中選擇WHERE categories.contains(:category)返回包含特定Category的所有Recipes。 – DataNucleus 2011-03-15 09:52:20
好的,但':category'是什麼?一個類別對象?類別密鑰? – 2011-03-15 11:19:53