Google DataStore 쿼리 세트
-
16-09-2019 - |
문제
내 태그 엔터티에 열쇠 세트가 포함 된 코스 엔티티가 있습니다. 특정 태그가있는 코스 목록을 얻기 위해 쿼리를 만드는 방법은 무엇입니까? 예를 들어, 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;
}
해결책
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);
제휴하지 않습니다 StackOverflow