[英]Update query in DataStore of google app engine - java
我是App Engine的新手。 我想更新数据存储区中实体的某些字段。 为此,我创建了如下query
,但它既不会更新我的实体也不会引发错误。 我不知道我要去哪里错。我提到了这篇文章,但我收集了大量数据。 因此,对我来说,很难获取数百条记录并保留它们。请帮助我解决此问题。
码:
@ApiMethod(name = "updateUserProfile", httpMethod = HttpMethod.GET, path = "userfeedmasterendpoint/updateProfile")
public void updateUserProfile(@Named("userName") String uName,
@Named("uAbout") String userAbout)
{
EntityManager mgr = null;
try {
mgr = getEntityManager();
Query query = mgr
.createQuery("update UserFeedMaster u set u.userAbout = :uAbout where u.userName=:userName");
query.setParameter("userName", uName);
query.setParameter("uAbout", userAbout);
query.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return;
}
查询将仅向数据存储区询问一组满足条件的对象,然后检索这些对象。 要更新对象,您需要检索它(例如,使用查询),请更新该对象,然后将其放回数据存储中(通过调用ORM put方法)。
如果您不熟悉AppEngine,并且想以简单的方式使用数据存储,则应查看Objectify。 它是数据存储区的Java ORM。 这是该项目的简短说明:
Objectify是专门为Google App Engine数据存储区设计的Java数据访问API。 它占据了“中间地带”。 与JDO或JPA相比,它更易于使用且更加透明,但比Low-Level API更加方便。 Objectify旨在使新手立即提高工作效率,同时也展现GAE数据存储的全部功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.