我知道网上有很多类似的问题,但这些都不是我想问的。
在 Spring Data Jpa 中,我可以使用存储库中的方法名称来自动生成查询,例如
findById
、count
等。
有没有类似的关键字可以添加到方法名称中来计算列值的平均值?
我发现可以使用显式 JPQL 查询来计算平均值,例如:
@Query(value = "SELECT avg(price) FROM Product")
public Double avg();
或直接通过 Java 检索所有列值,然后以编程方式计算平均值。 但这些方法……肮脏吗?
在 Spring Data JPA 中计算 AVG(或 MIN、MAX 等)的最佳方法是什么?
Spring Data JPA 不支持在使用方法名称的查询中使用聚合函数(请参阅此处支持的关键字表)。 建议的方法是使用问题中提到的
@Query
。为什么你认为它脏?恕我直言,这不是。