Как выбрать несколько объектов в данных весной JPA, используя спецификации - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть следующий @ Query , который отлично работает.Но теперь у меня есть сценарий, где экран нуждается в фильтре, который добавит несколько предложений where в запрос.

@ Query

("
        SELECT 
            ef, ed, ea
        FROM EntityA ea
            JOIN EntityB eb
            JOIN EntityC ec
            JOIN EntityD ed
            JOIN EntityE ee
            JOIN EntityF ef
        WHERE
            TRUNC(ee.date) = TRUNC(:date)

        -- conditions based on screen filter parameters
        AND ef.amount = :amount
        AND LOWER(ec.name) LIKE LOWER('%' || :name || '%')
        AND ec.projectId = :projectId
        AND ed.divisionId = :divisionId

")

Обнаружено, что естьхорошая спецификация поддерживает динамическое создание запросов согласно требованию.

Но не уверен, как выбрать несколько объектов ef , ed & ea за один раз, используя Технические характеристики , в противном случае мне нужно написать еще 4 запроса для получения результата на основе критериев фильтра.

NB Не используется стремительная загрузка по соображениям производительности, поскольку объекты используются несколькими службами.

1 Ответ

0 голосов
/ 27 сентября 2019

Спецификации используются только для динамического создания предложения where.

Если вам также необходимо управлять предложением select, я рекомендую использовать JPA Criteria API внутри пользовательского метода вашего хранилища.

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