Google DataStore Query Set
-
16-09-2019 - |
Domanda
Ho un'entità corso che contiene un set di chiavi per la mia entità Tag. Come potrei fare per la creazione di una query per ottenere un elenco di corsi con un tag specifico? Per esempio, io voglio trovare tutti i corsi di taggati con Java.
Ecco le mie entità:
@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;
}
Soluzione
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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow