У меня есть модель с сущностями, которая включает родительские ключи. Я хочу знать, возможно ли сделать конкретный запрос, чтобы получить только ключи родителей, учитывая некоторые ограничения атрибутов для дочерних объектов.
Я попробую привести пример. Предположим, что у нас есть имена людей, их родителей (просто ключ) и их любимый цвет:
| Name | Parent | Color |
-----------------------------
| Robert | Albert | Yellow |
| Rupert | Albert | Yellow |
| Gilbert | Albert | Green |
| Q-bert | Rupert | Yellow |
Я хочу, чтобы в результате запроса был получен следующий список без повторяющихся элементов при запросе цвета Yellow
: < Albert, Rupert >
.
Обратите внимание, что меня не интересуют дети, только ключи родителей. Также обратите внимание, что хотя я мог бы сгруппировать повторяющиеся ключи в Set<Key>
, это могло бы нарушить подкачку моего приложения.
Я знаю, что запросов distinct
нет, но поисковые системы обычно имеют функцию «кластеризации» для выполнения этой задачи. И я считаю, что основная организация хранилища данных похожа на организацию полнотекстовой поисковой системы. Вот почему я прошу.
Кстати, я использую низкоуровневый API хранилища данных Java.
Заранее спасибо.