我是App Engine的新手。我想更新数据存储区中实体的某些字段。为此,我创建了如下所示的query
,但是它既不会更新我的实体也不会引发错误。我不知道我要去哪里错。我提到了this SO post,但是我有大量的数据。因此,对我来说,很难获取数百条记录并保留它们。请帮助我解决此问题。
码:
@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方法)。