【问题标题】:column not found in result set在结果集中找不到列
【发布时间】:2020-07-06 15:24:21
【问题描述】:

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

它也可以正常工作。

【问题讨论】:

    标签: java sql spring spring-data jpql


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,真的是 Long 类型吗?
    • @Beginner 取决于驱动程序,通常是LongBigInteger
    • 您好,它正在工作。如果我有一个查询 Select user_no, count(user_name) as user_count from users where status = 'B' group by user_task_no
    • 那么它不是基本类型,需要映射。如果答案解决了您的问题,请考虑支持/标记为正确;>
    猜你喜欢
    • 2017-07-03
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2011-02-15
    • 2014-01-14
    • 1970-01-01
    相关资源
    最近更新 更多