以下代码无效。有谁知道我该如何让它发挥作用?
Query q = new Query("Product");
Iterable<Entity> entities = datastore.prepare(q).asIterable();
for (Entity entity : datastore.prepare(q).asIterable()) {
entity.setProperty(“sale”, false);
}
datastore.put(entities);
sale
是我添加到实体种类的全新字段。所以它还不存在。
更新
我按如下方式修复了它,但代码仍然无法正常工作
Query q = new Query("Product");
Iterable<Entity> entities = datastore.prepare(q).asIterable();
for (Entity entity : entities) {
entity.setProperty(“sale”, false);
}
datastore.put(entities);
最佳答案
您的代码中有错误。您永远不会更新实体
。应该是:
Query q = new Query("Product");
List<Entity> entities = datastore.prepare(q).asList(FetchOptions.Builder.withDefaults());
for (Entity entity : entities) {
entity.setProperty(“sale”, false);
}
datastore.put(entities);
关于java - 如何在 AppEngine 数据存储上执行批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28116488/