Как правильнее получить эти данные с помощью spring-data-jpa? - PullRequest
0 голосов
/ 05 декабря 2018

Например, мне нужно показать статистическую таблицу на веб-странице.Эта таблица состоит из 5 строк:

AVG-rating | 5
TotalSum   | 12.1
SumToday   | 2.1
SummMonth  | 8.6
SomeElse   | 666 

Каждое значение в этой таблице - рассчитывается с использованием статистической функции в базе данных.

Вопрос : как правильнееполучить эти данные с помощью spring-data-jpa?

Теперь у меня есть одна служба - StatisticService с общедоступными методами getStatistic(user);

В этом методе я вызываю 5 methods из repository для каждой статистикизначение и форма ответа.Каждый метод репозитория - native query.

Мне не нравится этот подход.И я думаю, что лучший способ - создать View в database и выбрать всю статистику в одном запросе для просмотра .

Но этот подход мне тоже не нравится.Потому что я привязан к базе.и база содержит логику.Хотя в первом случае я использую собственные запросы, но я могу переписать их в JPQL (но, возможно, не во все).

Как более правильно извлечь агрегированную информацию из базы данных с помощью spring-data-jpa?

1 Ответ

0 голосов
/ 05 декабря 2018

Поскольку у вас есть все значения, рассчитанные внутри БД, я не вижу никаких возможностей, вместо того, чтобы вы вызывали каждые 5 запросов.В противном случае вам необходимо реализовать эту логику вычисления внутри вашего кода

...