私は壁に頭をぶつけて、多対多の関係を正しく構成しようとしています。これは簡単なはずです。
ショッピングリストクラスとアイテムクラスがあります。ショッピングリストにアイテムのリストを保持できるようにしたいだけです。
Google App Engineのドキュメントリンクで返信しないでください。Googleが大まかに投げかけている理論ではなく、誰かが自分のプロジェクト内で使用した実用的な例を探しています。
私は壁に頭をぶつけて、多対多の関係を正しく構成しようとしています。これは簡単なはずです。
ショッピングリストクラスとアイテムクラスがあります。ショッピングリストにアイテムのリストを保持できるようにしたいだけです。
Google App Engineのドキュメントリンクで返信しないでください。Googleが大まかに投げかけている理論ではなく、誰かが自分のプロジェクト内で使用した実用的な例を探しています。
mongodbのように、親アイテム内にアイテムを「保持」することはできません。
ただし、ショッピングリストクラスからアイテムクラスを参照することはできます
アイテムクラスからIDを取得し、それらをショッピングリストクラスに追加します。次のようになります。
私はあなたがgaeのドキュメントを望まないことを知っていますが、彼らはここに関係をモデル化するためのページを持っています
それは簡単です。
多対多の関係を保持するクラスを作成します。あなたの場合:
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(record)はObjectify lingoに由来しますが、必要に応じてJPAまたはJDOを使用できます。