фильтр запросов движка приложения по диапазону сущностей 'id', игнорируя предка (-ов) - PullRequest
1 голос
/ 07 августа 2011

У меня есть такие организации:

Сущность [продукты (147)]
Сущность [производитель (23) / продукция (131)]
Сущность [производитель (17) / продукция (131)]

Теперь я пытаюсь найти с помощью запроса все сущности типа «продукты», имеющие идентификатор от 100 и выше.Такие как вышеупомянутые 147 и 131.

Проблема в том, что я не знаю, как попросить их, "отсоединяя" предка от него в запросе.

Пробовал это:

Не работает :

SELECT __key__ FROM products WHERE ID >= 100

Частично работает :

SELECT __key__ FROM products WHERE __key__ >= 100

Вот какЯ вставляю фильтр запроса:

query.addFilter("__key__", FilterOperator.GREATER_THAN_OR_EQUAL, KeyFactory.createKey("products", 100));

Этот частично работающий дает правильные результаты ТОЛЬКО для «корневых» сущностей, то есть тех, у которых нет предка.

Любой способ изменить его, игнорируяпредок (ы)?Спасибо!

1 Ответ

0 голосов
/ 08 августа 2011

Нет встроенного способа сделать это, потому что этот запрос не имеет смысла.Идентификаторы распределяются так, чтобы они были уникальными для данного вида и родителя .Вы не можете полагаться только на идентификаторы, чтобы однозначно идентифицировать объект, если у него могут быть разные родительские объекты, поэтому довольно бессмысленно запрашивать диапазон идентификаторов независимо от родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...