繁体   English   中英

更新Google App Engine的DataStore中的查询-Java

[英]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数据存储的全部功能。

https://code.google.com/p/objectify-appengine/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM