我一直在撞墙,试图正确配置多对多的关系,这应该是直截了当的。
我有一个购物清单类和一个商品类。我只是希望购物清单能够保存物品清单。
请不要回复Google App引擎文档链接,我正在寻找一个有人在他们自己的项目中使用的工作示例,而不是谷歌松散的理论。
答案 0 :(得分:0)
您不能像在mongodb中一样在父项目中“保留”项目。
但您可以从购物清单类
中引用您的商品类从您的商品类中获取ID并将其添加到购物清单类中。它看起来像:
我知道你不想要gae文档,但他们有一个建模关系页面here
答案 1 :(得分:0)
这很容易。
创建一个包含多对多关系的类。在你的情况下:
class ShoppingListItems(){
@Id
private String id;
private Long shoppingListId;
private Long itemId;
public ShoppingListItems(Long shoppingListId, Long itemId) {
this.id = shoppingListId.toString() + "-" + itemId.toString();
this.shoppingListId = shoppingListId;
this.itemId = itemId;
}
public String getId() {
return id;
}
public static void addItemToList(Long shoppingListId, Long itemId, DAO dao) {
// add shopping list and itemsr IDs to the ShoppingListItems 'join' table
ShoppingListItems record = new ShoppingListItems(shoppingListId, itemId);
dao.ofy().put(record);
}
这里@Id和dao.ofy()。put(记录)来自Objectify术语,但您可以根据自己的喜好使用JPA或JDO。