Как рассчитать среднее по столбцу с JPA? - PullRequest
0 голосов
/ 03 декабря 2018

Я хотел бы рассчитать среднее значение по столбцу.Я попробовал следующее:

@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] 

Какой будет правильный синтаксис?В чем проблема с отображением моей таблицы?

1 Ответ

0 голосов
/ 03 декабря 2018

вы должны использовать имя сущности, а не таблицу. То же самое относится и к имени столбца, вместо этого вы должны использовать имя поля.

Я предполагаю, что ваша сущность является UserRating, поэтому правильный запрос будет:

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

Или второй вариант указать, что это собственный запрос:

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