Фильтрация списка сотрудников по выбранному подразделению и всем ее потомкам

Здравствуйте. Подскажите, как лучше сделать: у меня на форме Employee.list есть propertyFilter с выпадающим списком Department, который фильтрует Employee по атрибуту department соответственно. Department - сущность древовидная. Хотелось бы ,чтобы фильтрация происходила не только по выбранному department, но и по всем его потомкам. Ну то есть если я выбираю в выпадающем списке самый верхний уровень department, в выборку должны попасть все employee всех department. Пока что сделал так: создал в дескрипторе groupFilter c operation=“OR”, и в контроллере рекурсивно пробегаю по всему дереву, добавляя в groupFilter → PropertyFilter по каждому department. Если потомков много - получается много условий OR, запрос раздувается и работает долго. operation=“IN” наверно спасло бы ситуацию, но такой операции у PropertyFilter нет. Может сразу в dataLoader формировать query с необходимым списком? Или еще как? Как сделать лучше и правильнее?

Версия 2.1.3

Здравствуйте!

Очень занятный кейс, думаю стандартным фильтром тут не справится.

Такое чувство, что custom filter with query modification должен подойти. Пока, выглядит как единственный вариант

К слову, есть задача на реализацию операции IN: [PropertyFilter] implement IN and DATE_INTERVAL operations · Issue #1442 · jmix-framework/jmix · GitHub.

С уважением,
Дмитрий