java - 在结果集中找不到列

标签 java sql spring spring-data jpql

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

关于java - 在结果集中找不到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60859736/

相关文章:

java - 单例类中成员变量的单个副本

java - 如何验证十进制输入不允许单独 "."和空字段?

mysql - 仅订购 DATETIME 直到分钟标记 (MySQL)

sql-ex 错误的正确答案

java - 如何使用 Javassist 进行字节码操作以解决链接错误?

java - 使用 Jersey 和 Jackson 序列化(延迟加载)实体

java - 使用 Java 在 MongoDB 中按照本地时区插入/检索日期

sql - 如何计算一系列连续日期中的一天数?

java - 我如何使用 spring Autowiring 使用内存中的 derby 数据库来使用一堆 DAO?

java - 无法运行Spring maven项目,如何解决类路径包含多个SLF4J绑定(bind)?