Google データストア クエリ セット
-
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