私は Google App Engine を初めて使用します。いくつかのサンプル コードを試していたのですが、行き詰まってしまいました :(
以下はコードです:
datastore = DatastoreServiceFactory.getDatastoreService();
Transaction txn = datastore.beginTransaction();
Entity oSet = new Entity("Set", "Set1");
datastore.put(oSet);
Entity oItem1 = new Entity("item", "item1", oSet.getKey());
oItem1.setProperty("qty", "two");
datastore.put(oItem1);
Entity oItem2 = new Entity("item", "item2", oSet.getKey());
oItem2.setProperty("qty", "five");
datastore.put(oItem2);
Query query = new Query("item").setAncestor(oSet.getKey());
List<Entity> oItems = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(50));
for(Entity i : oItems) {
System.out.println("item qty: " + i.getProperty("qty"));
}
txn.commit();
1 つのプロパティ "qty" を持つ 2 つの "item" エンティティを作成しようとしています。これらの 2 つの「アイテム」エンティティは、エンティティ「セット」の子孫です。しかし、「アイテム」エンティティを元に戻すことはできません。クエリに何か問題がありますか?