2013-04-11 64 views
2

我有addFilter滤波后的实体问题()已经附加筛选查询在谷歌应用程序引擎

从谷歌应用程序引擎过时。

目的:要列出有UID = “拉胡”

什么,我想这些实体:

com.google.appengine.api.datastore.DatastoreService ds=DatastoreServiceFactory.getDatastoreService(); 

    Query q = new Query("Upload"); 
    q.setFilter(FilterOperator.EQUAL.of("UID","rahul")); 
    PreparedQuery pq = ds.prepare(q); 

    for (Entity result : pq.asIterable()) 

     { 
      String title = (String) result.getProperty("url"); 
      resp.getWriter().println(title); 
     } 

,这是我的DataStore实例为 “上传” 实体:

Upload Entity Instance in Datastore

但是,启动应用程序时我收到一个空白页。

+1

@frank是JAVA不是一个标签,但有明显的区别。这个Google app引擎问题是基于JAVA版本的。不是Python。 – 2013-04-11 07:22:27

+0

是解决了吗? – 2013-07-02 19:00:48

+0

是的..有一个数据存储错误的名称。 – 2013-07-03 18:33:58

回答

0

它应该给出所需的输出。如果它提供空白页面,请检查Google Dashboard或共享日志中的日志。

2

由于addFilter()已被弃用,你也可以使用下面的代码:

要创建一个过滤器:

query.setFilter(new Query.FilterPredicate("UID", FilterOperator.EQUAL, "rahul")); 

要创建多个过滤器:

后您建立所有您的过滤器,使用CompositeFilter将它们组合在一起:

new CompositeFilter(CompositeFilterOperator.AND, Arrays.asList(filter1, filter2)); 

然后将其设置为过滤器查询通过写:

query.setFilter(composite_filter);