在此结果集中找不到列名column_name。 (Java Spring Boot)

问题描述 投票:0回答:1

我有一个实体类:

  @Id
    @GeneratedValue(
            strategy = GenerationType.IDENTITY
    )
    @Column(name = "l_p")
    private Long l_p;
    private String marvel_comic_character_name;
    private String comic_appearance_1;
    private String comic_appearance_2;
    private String comic_appearance_3;
    private String comic_appearance_4;
    private String comic_appearance_5;
    private String comic_appearance_6;
    private String comic_appearance_7;
    private String comic_appearance_8;
    private String comic_appearance_9;
    private String comic_appearance_10;
    private String comic_appearance_11;
    private String comic_appearance_12;
    private String comic_appearance_13;
    private String comic_appearance_14;
    private String comic_appearance_15;
    private String comic_appearance_16;
    private String comic_appearance_17;
    private String comic_appearance_18;
    private String comic_appearance_19;
    private String comic_appearance_20;
    private String comic_appearance_21;
    private String comic_appearance_22;
    private String comic_appearance_23;
    private String comic_appearance_24;
    private String comic_appearance_25;
    private String comic_appearance_26;
    private String comic_appearance_27;
    private String comic_appearance_28;
    private String comic_appearance_29;
    private String comic_appearance_30;
    private String comic_appearance_31;
    private String comic_appearance_32;
    private String comic_appearance_33;
    private String comic_appearance_34;
    private String comic_appearance_35;

和存储库:

 @Query(
      value="SELECT COUNT(marvel_comic_character_name) " +
      "FROM marvel_super_heroes WHERE marvel_comic_character_name ~* ':character'",
      nativeQuery = true)
    List<Character> countAllCharacterOccurences(@Param(value = "character")String character);`

当我尝试测试结果时,我收到了

无法按名称查找列位置:l_p [在此 ResultSet 中未找到列名称 l_p。] [n/a]; SQL [不适用]

对于数据库我使用 PostgreSQL

我已经尝试过这个解决方案,但没有成功:
无法按名称查找列位置:column1 [在此结果集中未找到列名column1

java spring postgresql entity boot
1个回答
0
投票

看起来您的 SQL 查询

COUNT(marvel_comic_character_name)
仅返回计数,这是一个整数。

但是,您的存储库方法返回

List<Character>
,它代表表中的所有列。当驱动程序尝试实例化字符(我假设是实体的名称)时 - 它从实体中定义的第一列开始 - 这是
l_p
- 但它不存在于结果集中,结果集中只返回了计数.

为了让您的存储库正常工作 - 看起来您需要将返回类型更改为

int
,因此将返回实际计数

© www.soinside.com 2019 - 2024. All rights reserved.