Как вы используете свойства списка в хранилище данных Google App Engine на Java? - PullRequest
6 голосов
/ 25 апреля 2011

Объект, который будет помещен в хранилище данных, будет иметь набор тегов.

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

В Python Google App Engine имеет понятие свойств списка. Что такое эквивалентное понятие в Java (если оно существует) и как бы вы использовали свойства списка в Java, в JPA и / или в JDO?

Ответы [ 2 ]

10 голосов
/ 26 апреля 2011

См. Мой пост в блоге именно по этому вопросу: Эффективный поиск по ключевым словам с объектами индекса отношений и Objectify для 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.

3 голосов
/ 25 апреля 2011

В JDO Использование

@Persistent
private List<ContactInfo> contactInfoSets;
...