Например, мне нужно показать статистическую таблицу на веб-странице.Эта таблица состоит из 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
?