0

データストアに書き込む

Key dataKey = KeyFactory.createKey("Datastore", "123");
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity data = new Entity("Datastore", dataKey);
data.setProperty("date", date);

try{
   datastore.get(dataKey);
   datastore.delete(dataKey);
}catch(EntityNotFoundException ex){
   log.serve("Error : "+ ex.getMessage());
}

datastore.put(data);

データストアから読み取る

Key dataKey = KeyFactory.createKey("Datastore", "123");
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity entity = datastore.get(dataKey);

02の質問があります:
1。同じキーを持つエンティティの重複を避けたいので、datastore.get(dataKey)を使用してエンティティが存在するかどうかを確認しますが、使用方法が適切ではないと思います。それをより良くすることができる他の方法はありますか?
2.データを取り戻すことができません。「キーに一致するエンティティが見つかりませんでした:Datastore( "123")」
とGoogle Datastoreのドキュメントを何度も読みましたが、それでもこれの何が問題なのかわかりません:(。
誰か助けてくれませんか?
ありがとうございます。

4

1 に答える 1

1

交換:

Entity data = new Entity("Datastore", dataKey)

と:

Entity data = new Entity(dataKey)

また、重複について心配する必要はありません。既存のエントリ(そのキーはすでにデータストアにあります)をコミットすると、オーバーライドされます。データストアに2つの同じキーを含めることはできません。

于 2012-07-11T06:25:25.077 に答える