Набор запросов Google DataStore - PullRequest
0 голосов
/ 17 июля 2009

У меня есть объект Course, который содержит набор ключей для моего объекта Tag. Как мне создать запрос, чтобы получить список курсов с определенным тегом? Например, я хочу найти все курсы с тегом java.

Вот мои сущности:

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
 public class Course{

 @PrimaryKey
 @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
 private Key key;

 @Persistent private Set<Key>       tags;
 //etc
 }

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
public class Tag{

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;

    @Persistent private String tagText;
}

Ответы [ 2 ]

3 голосов
/ 17 июля 2009
Tag tag = getTagFromString("java");
Key tagKey = tag.getKey();  // i will assume you have a getKey() method

PersistenceManger pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(Course.class);
q.setFilter("tags == :tagParam");

List<Course> coursesTaggedWithJava = (List<Course>) q.execute(tagKey);
0 голосов
/ 17 июля 2009

Я не думаю, что это возможно. Google DataStore не позволяет использовать запросы на присоединение. Но я могу ошибаться.

Здесь и здесь - это веб-сайт, где вы можете найти больше информации о GQL.

...