Spring data jpa hibernate:查询异常java.sql.SQLException: Column '列名' not found

使用spring boot,jap,hibernate不小心的错误:

java.sql.SQLException: Column ‘列名’ not found:

这句话的意思是:找不到此列
为什么会出现这个问题?
原因:我们在执行SQL语句查询的时候为列名起了 别名所导致的

数据库字段带下划线:el_empno
在@Query中我们这样 ? value = “select el_empno as empno …”)
OK,异常来了:java.sql.SQLException: Column ‘列名’ not found

再使用spring boot 时,在…Repository中使用类似语句时:
@Query(value = “SELECT 列名1,列名2,…列名n FROM 表名称”, nativeQuery= true)
如果你是这样:@Query(value = “SELECT 列名1 AS 别名1,列名2 AS 别名2,…列名n AS 别名N FROM 表名称”, nativeQuery= true)
就会报错:java.sql.SQLException: Column ‘列名’ not found

当我们使用SQL语句时,表中的所有字段全写出来,如果多就用*,不多的话就一个一个写出来,记得不要加别名,
如果不全部写出来的话就会报:java.sql.SQLException: Column ‘列名’ not found

避免此错误:

不要为查询字段起别名
写出要查询的表中所有字段,不管你是否需要该字段,全写
OK,问题解决。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值