Google应用引擎(java)数据存储检索无法正常工作

时间:2013-04-11 16:59:25

标签: java google-app-engine google-cloud-datastore

我无法从数据存储中检索实体。

以下:Google Code Lab我做了这个功能:

   @SuppressWarnings("deprecation")
   public static Iterable<Entity> listEntities(String kind, String searchBy,String searchFor) {
   com.google.appengine.api.datastore.DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
   Query q = new Query(kind);

   if (searchFor != null && !"".equals(searchFor)) 
        {
            q.addFilter(searchBy, FilterOperator.EQUAL, searchFor);
        }

    PreparedQuery pq = ds.prepare(q);

    return pq.asIterable();

    }

然后调用它来获取值:

    for(Entity u:listEntities("Upload","UID","ratan"))
         {
             String uid = (String) u.getProperty("url");
             System.out.println("#1##"+uid);
         }

但它没有打印出任何价值! 哪里出错了。

这是我的“上传”实体的数据存储实例

enter image description here

即使这不起作用:

for(Entity u:listEntities("Upload",null,null))
{
  String uid = (String) u.getProperty("url");
  System.out.println("#1##"+uid);
}

1 个答案:

答案 0 :(得分:0)

您必须为此实体定义索引。如何在app引擎中定义索引请看这个链接:

https://developers.google.com/appengine/docs/java/config/indexconfig