The question pretty much says it all.
If I have a class Class A
public class A {
...
private List<String> keys;
...
}
And I want to select all A
instances from the DataStore that have atleast one of a List of keys, is there a better way of doing it than this:
query = pm.newQuery(A.class);
query.setFilter("keys.contains(:key1) || keys.contains(:key2) || keys.contains(:key3)");
List<A> results = (List<A>)query.execute(key1, key2, key3);
This has not yet been implemented, so I am open to radical suggestions.
"SELECT FROM " + A.class.getName() + " WHERE keys.contains(var) && (var == :key1 || var == :key2 || var == :key3) VARIABLES java.lang.String var"
Or at least that's what we'd use with other datastores; anyones guess if Google have implemented it.