首页 > 解决方案 > 在结果集中找不到列

问题描述

我有一个查询使用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();

它也工作正常。

标签: javasqlspringspring-datajpql

解决方案


这是因为查询返回必须映射到实体的单个值,而不是行。尝试以下操作:

@Query(
        value = "SELECT count(user_name) " +
                "FROM users " +
                "where status = 'B' ",
        nativeQuery = true
)
Long usersStatCount();

推荐阅读