【问题标题】:Sprin JPA how to get AVG of a columnSpring JPA如何获取列的AVG
【发布时间】:2020-03-23 20:24:49
【问题描述】:

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

在 spring + Jpa 中,我可以通过 Repository 访问“自动生成”功能,例如 findByIdcount 等。 是否有类似的函数来计算列值的平均值?

我发现使用 SQL 中的显式查询可以计算平均值

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

或直接通过 java,选取所有列值并计算平均值。 但是这些方法……脏吗?

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

【问题讨论】:

    标签: java spring jpa spring-data-jpa


    【解决方案1】:

    Spring Data JPA 不支持使用方法名称的查询中的聚合函数。建议的方法是使用您的问题中提到的@Query。为什么你认为它很脏?这不是恕我直言。

    【讨论】:

    • 只是因为对于所有查询的其余部分,我不使用 (at)Query 而是使用 JPA 方法......用于“同质性”(我知道这听起来很愚蠢)。所以我将使用 (at)Query,非常感谢 :)
    猜你喜欢
    • 2019-08-19
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多