java - 在结果集中找不到列
问题描述
我有一个查询使用JpaRepository
@Query(
value = "SELECT count(user_name) AS user_count " +
"FROM users " +
"where status = 'B' ",
nativeQuery = true
)
List<Users> usersStatCount();
它给了我一个错误,
Could not execute query...
The column name user_name was not found in result set
但是当我在 pgadmin 上尝试查询时,它工作正常。
当我尝试一个简单的
@Query(
value = "SELECT * " +
"FROM users " +
"where status = 'B' ",
nativeQuery = true
)
List<Users> usersStatCount();
它也工作正常。
解决方案
这是因为查询返回必须映射到实体的单个值,而不是行。尝试以下操作:
@Query(
value = "SELECT count(user_name) " +
"FROM users " +
"where status = 'B' ",
nativeQuery = true
)
Long usersStatCount();