How do you use list properties in Google App Engine datastore in Java?

六眼飞鱼酱① 提交于 2019-11-30 07:31:59

问题


An object to be placed in the datastore will have a set of tags.

public class Model 
{
    List<String> tagList
    ...
}

In Python, the Google App Engine has the notion of list properties. What is the equivalent notion in Java (if it exists) and how would you use list properties in Java, in JPA and/or in JDO?


回答1:


See my blog post exactly on this: Efficient Keyword Search with Relation Index Entities and Objectify for Google Datastore. It talks about implementing search with list properties using Relation Index Entities and Objectify.

To summarize:

  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();

where DocumentKeywords contains a list property (collection) of all keywords for its Document entity, and Document entity is a parent for DocumentKeywords.




回答2:


In JDO use

@Persistent
private List<ContactInfo> contactInfoSets;


来源:https://stackoverflow.com/questions/5778606/how-do-you-use-list-properties-in-google-app-engine-datastore-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!