Spring Data JPA:如何获取列的 AVG?

问题描述 投票:0回答:1

我知道网上有很多类似的问题,但这些都不是我想问的。

在 Spring Data Jpa 中,我可以使用存储库中的方法名称来自动生成查询,例如

findById
count
等。 有没有类似的关键字可以添加到方法名称中来计算列值的平均值?

我发现可以使用显式 JPQL 查询来计算平均值,例如:

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

或直接通过 Java 检索所有列值,然后以编程方式计算平均值。 但这些方法……肮脏吗?

在 Spring Data JPA 中计算 AVG(或 MIN、MAX 等)的最佳方法是什么?

java spring jpa spring-data-jpa
1个回答
0
投票

Spring Data JPA 不支持在使用方法名称的查询中使用聚合函数(请参阅此处支持的关键字表)。 建议的方法是使用问题中提到的

@Query
。为什么你认为它脏?恕我直言,这不是。

© www.soinside.com 2019 - 2024. All rights reserved.