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