使用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,问题解决。。。
使用spring boot,jap,hibernate不小心的错误:java.sql.SQLException: Column ‘列名’ not found:这句话的意思是:找不到此列为什么会出现这个问题?原因:我们在执行SQL语句查询的时候为列名起了 别名所导致的数据库字段带下划线:el_empno在@Query中我们这样 :( value = “select el_empno a...
刚开始这么写的
查询
t .code, t.out_date 这两个字段 运行后报
[2020-09-07 10:28:11,038] [ERROR] [o.h.e.j.s.SqlExceptionHelper SqlExceptionHelper.java:142]
列名
无效
也不提示哪一列
无效
,奇怪了,之前这么写都正常啊
以为是 out_date 与实体类不一致 用了
别名
试一下 还是报错,后面改成 t.* ,
查询
所有字段就没问..
最近做javaWeb项目,出现了一个小插曲java.sql.SQLException: Column ’ name ’ not found,首先分析出现小插曲的本质问题:
1、
查询
语句
是否有问题
2、是否有name
3、或者就是实体映射问题,实体类没有name
就拿我当时的小插曲做个简单分析喽!
首先我的
查询
语句
:findRownumberMax="SELECT MAX(rownumbername...
<groupId>com.dameng</groupId>
<artifactId>Dm8JdbcDriver18</artifactId>
<version>8.1.1.49</version>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
使用spring boot,jap,hibernate不小心的错误:
java.sql.SQLException: Column ‘
列名
’ not found:
这句话的意思是:找不到此列
为什么会出现这个问题?
原因:我们在
执行
SQL
语句
查询
的时候为
列名
起了
别名
所导致的
数据库字段带下划线:el_empno
在@Query
中
我们这样
在很多时候我更喜欢随意组合
查询
出来返回一个DTO对象的实现,
JPA
提供的多数
查询
均以返回Entity居多,它提供的EntityManager对象可以实现将SQL
语句
查询
的结果转换为自定义DTO对象(这与@Query注解
查询
返回接口结果集相似),本篇文章围绕不使用任何Entity与对象级联配置的情况,将原生SQL
查询
的结果集转换为自定义DTO对象。
packagecn.chendd.example.
jpa
...
梳理 Spring Boot 注解(整合超详细版本)一、注解详解(配备了完善的释义)二、注解列表如下三、
JPA
注解四、springMVC相关注解五、全局异常处理六、项目
中
具体配置解析和使用环境
使用注解的优势:
采用纯java代码,不在需要配置繁杂的xml文件
在配置
中
也可享受面向对象带来的好处
类型安全对重构可以提供良好的支持
减少复杂配置文件的同时亦能享受到springIoC容器提供的功能
一、注解详解(配备了完善的释义)
可采用ctrl+F 来进行搜索哦:
@SpringBootApplication
数据库有数据,
JPA
报错Column ‘xx’ not found.
java会自动的将驼峰实体转化为下划线到数据库
中
查询
,所以在数据库
中
找不到对应的column
解决方法:
在配置文件夹application.xml
中
加入以下代码,去掉转为下划线步骤,直接用实体属性名在数据库表
中
查询
。
spring:
jpa
:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.Phys