我有一个实体类:
@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
看起来您的 SQL 查询
COUNT(marvel_comic_character_name)
仅返回计数,这是一个整数。
但是,您的存储库方法返回
List<Character>
,它代表表中的所有列。当驱动程序尝试实例化字符(我假设是实体的名称)时 - 它从实体中定义的第一列开始 - 这是 l_p
- 但它不存在于结果集中,结果集中只返回了计数.
为了让您的存储库正常工作 - 看起来您需要将返回类型更改为
int
,因此将返回实际计数