如何在Java中使用Google App Engine数据存储区中的列表属性?

放置在数据存储区中的对象将具有一组标记.
public class Model 
{
    List<String> tagList
    ...
}

在Python中,Google App Engine具有列表属性的概念. Java中的等效概念(如果存在)以及如何在Java,JPA和/或JDO中使用列表属性

解决方法

请参阅我的博客文章Efficient Keyword Search with Relation Index Entities and Objectify for Google Datastore.它讨论了使用关系索引实体和Objectify实现列表属性搜索.

总结一下:

Query<DocumentKeywords> query = ofy.query(DocumentKeywords.class);
  for (String keyword : keywords) {
    query = query.filter("keywords",keyword);
  }

  Set<Key<Document>> keys = query.<Document>fetchParentKeys();

  Collection<Document> documents = ofy.get(keys).values();

其中DocumentKeywords包含其Document实体的所有关键字的列表属性(集合),而Document实体是DocumentKeywords的父级.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...