Сприн JPA, как получить AVG столбца

Я знаю, что в Интернете есть много подобных вопросов, но я не хочу задавать ни один из них.

Весной + Jpa я могу получить доступ через Repository к функции " findById ", такой как findById , count и т. Д. Есть ли подобная функция для вычисления среднего значения столбца?

Я обнаружил, что рассчитать среднее можно с помощью явного запроса в SQL, как

@Query(value = "SELECT avg(price) FROM Product")
public Double avg();

или непосредственно через Java, выбирая все значения столбца и вычисляя среднее. Но эти методы ... грязные?

Каков наилучший способ расчета AVG (или MIN, MAX и т. Д.) В Spring JPA?

Всего 1 ответ


Spring Data JPA не поддерживает агрегатные функции в запросах, использующих имена методов. Предлагаемый подход заключается в использовании @Query, как указано в вашем вопросе. Почему вы считаете это грязным? Это не ИМХО.


Есть идеи?

10000