gpt4 book ai didi

spring-boot - 如何使用 JPA 计算列的平均值?

转载 作者:行者123 更新时间:2023-12-05 01:16:27 26 4
gpt4 key购买 nike

我想计算列的平均值。我尝试了以下方法:

@Query("SELECT AVG(e.rating) FROM user_rating e WHERE e.route_uid = ?1")
fun averageOfRateings(routeId: UUID): Long

查询在 Sql 中有效,但是当我在 Spring Boot 中运行代码时出现以下错误。

Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:
user_rating is not mapped [SELECT AVG(e.rating) FROM user_rating e WHERE e.route_uid = ?1]

什么是正确的语法?我的表的映射有什么问题?

最佳答案

您必须使用实体名称,而不是表。同样适用于列名称,您必须使用字段名称。

我假设您的实体是 UserRating,所以正确的查询是:

@Query("SELECT AVG(e.rating) FROM UserRating e WHERE e.routeUid = ?1") 

或第二个选项指定是 native 查询:

@Query(value = "SELECT AVG(e.rating) FROM user_rating e WHERE e.route_uid = ?1" , nativeQuery = true)

关于spring-boot - 如何使用 JPA 计算列的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com