Filter Component возможность использования параметров других компонентов в условии Where/Множественное использование параметра фильтра

Добрый день.

Столкнулись с тем, что нужно было составить условие ИЛИ для фильтра по нескольким атрибутам но с одним входным параметром.
Конечное условия поиска должно было выглядеть примерно так: {E}.num = :param or {E}.saveNum = :param.

  1. Использование этого в одном условии не сработает ({E}.num = ? or {E}.saveNum = ?), поскольку параметр будет подставлен только в первое условие.
  2. Попробовали использовать группу ИЛИ, где первый фильтр был с параметром, а второй, скрытый забирал бы его параметр: ({E}.saveNum = :component$filter.QWSAXydjwk03395), но в WHERE получить это значение нельзя.
Сведения

image

  1. Предлагаю добавить необязательный алиас для параметра, совпадающего с id компонента: paramQWSAXydjwk03395. Таким образом код, написанный через анонимный параметр (?) по-прежнему будет работать, но появится возможность множественного использования параметра в условии поиска
  2. Или дать возможность забирать параметры из других компонентов в условии-WHERE

Добрый день.

Мне кажется что для использования было бы удобнее если бы ? подставлялся любое число раз, т.е. работал бы вариант {E}.num = ? or {E}.saveNum = ?. Да и для реализации на первый взгляд это кажется проще (правда мы еще в код не смотрели).
Как вы думаете?

1 симпатия

Да, конечно проще. Думаю, я просто сам перемудрил с этим вариантом (есть ассоциация, что на место каждого анонимного параметра в запросе должен подставляться новый входной. Что-то вроде того, что мы видим в eclipselink.log).
Как показала практика - такая ассоциация только у меня и возникла. Коллега, написавший впервые этот фильтр - писал запрос так же, как и Вы в примере. Выглядит вполне лаконично.

Добавил тикет: https://github.com/cuba-platform/cuba/issues/1188

1 симпатия