使用Java的Google App Engine中的多对多关系

时间:2011-10-18 03:46:36

标签: java google-app-engine many-to-many

是否可以在Google App Engine中的对象之间建立多对多关系? 我是GAE的新手,还在读它。编码似乎与我以前常用的Java编码完全不同。我已经阅读了入门留言簿教程。那么,我可以从GAE用户那里获得任何帮助/教程/视频/知识吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

关于文档,这是一个很好的起点:

http://code.google.com/appengine/docs/java/overview.html

尊重来自http://code.google.com/appengine/docs/java/datastore/jdo/relationships.html的多对多关系:

  

我们可以通过维护集合来建立多对多关系   关系两边的钥匙。让我们调整我们的例子   让食物跟踪那些被认为是最爱的人:

Person.java

import java.util.Set;
import com.google.appengine.api.datastore.Key;

// ...
    @Persistent
    private Set<Key> favoriteFoods;

Food.java

import java.util.Set;
import com.google.appengine.api.datastore.Key;

// ...
    @Persistent
    private Set<Key> foodFans;
  

在此示例中,Person维护一组键值   唯一标识最喜欢的食物对象和食物   维护一组唯一标识Person的Key值   认为它是最喜欢的对象。建模多对多时   使用键值,请注意应用程序的责任   保持双方的关系:

Album.java

// ...
public void addFavoriteFood(Food food) {
    favoriteFoods.add(food.getKey());
    food.getFoodFans().add(getKey());
}

public void removeFavoriteFood(Food food) {
    favoriteFoods.remove(food.getKey());
    food.getFoodFans().remove(getKey());
}