12 апр. 2010 г.

Фильтрация по элементам массива в хранилище Google App Engine

Если в поле класса хранится массив каких-то значений, то при фильтрации по полю, содержащему массив выполняется фильтрация по значениям этого массива и элемент возвращается если хотя бы один из элементов массива соответствует условию.
Например
@PersistenceCapable
public class Test {
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
Key id;
@Persistent
ArrayList arr = new ArrayList();
public ArrayList getArr(){
return arr;
}
}
Пусть у нас есть 3 элемента, со значениями arr: (100,200,300), (200,300,400), (400,500,600)
По запросу: SELECT * FROM Test WHERE arr = 200
Будут выбраны первые 2 элемента.
По запросу: SELECT * FROM Test WHERE arr > 300
Будут выбраны элементы 2 и 3.
По запросу: SELECT * FROM Test WHERE arr = 100
Будет выбран первый элемент.

Комментариев нет:

Отправить комментарий