首页 > 分享 > 使用@Query(value=“语句”,nativeQuery=true)出现的异常(SQL Error: 1146, SQLState: 42S02)

使用@Query(value=“语句”,nativeQuery=true)出现的异常(SQL Error: 1146, SQLState: 42S02)

最新推荐文章于 2023-09-11 16:02:55 发布

架构师Rakic 于 2019-05-28 10:55:37 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

测试,Hibernate的实体

@Entity @Table(name="user_test") public class UserTest implements Serializable {private static final long serialVersionUID = 1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id")private Integer id;@Column(name="name")private String name;@Column(name="age")private Integer age;@Column(name="address")private String address;

12345678910111213141516171819

测试接口

@Query(value="select * from UserTest where name = ?",nativeQuery=true) List<UserTest> queryByNameUseSQL(String name); 12

使用@Query注解,参数为nativeQuery=true,意思是使用正常的sql语句,如果没有使用nativeQuery=true,那就使用Hibernate语句

Hibernate: select * from UserTest where name = ? 2019-05-28 10:34:31.712 WARN 9232 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1146, SQLState: 42S02 2019-05-28 10:34:31.713 ERROR 9232 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Table 'sbm.usertest' doesn't exist 2019-05-28 10:34:31.744 INFO 9232 --- [ Thread-14] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@fa21b3e: startup date [Tue May 28 10:34:18 CST 2019]; root of context hierarchy 2019-05-28 10:34:31.775 INFO 9232 --- [ Thread-14] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2019-05-28 10:34:31.785 INFO 9232 --- [ Thread-14] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed 123456

异常分析:
说是这个Hibernate语句: select * from UserTest where name = ? 有问题
接着往下看,具体报什么异常(去百度一下)
SQL Error: 1146, SQLState: 42S02
再往下
Table ‘sbm.usertest’ doesn’t exist,说是table不存在,那就把usertest拿去数据库查询一下,看有没有这个表(注:我的是没有的)

解决过程:
回到@Query注解 ,因为使用了参数 nativeQuery=true ,那就是说使用原生SQL语句,那么就不能使用对象作为表名,所以要用真正的表名 user_test
修改一下,再测试

相关知识

sql注入
基于php宠物爱好者交流平台管理系统设计与实现(源码+lw+部署文档+讲解等)
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40
【PHP+MySQL】投票系统的设计和实现
宠物管理项目(毕业项目,可运行)
【批处理】bat常用语句及使用技巧
SpringBoot+Vue实现前后端分离的宠物医院管理系统
基于Vue3+Node Koa+WebSocket实现的“宠物收养交流平台”这是一个宠物收养交流平台web应用,主要分为
sql server @@ROWCOUNT 会被 if 给 清 0
SpringBoot+Vue项目宠物猫店管理系统的设计与实现

网址: 使用@Query(value=“语句”,nativeQuery=true)出现的异常(SQL Error: 1146, SQLState: 42S02) https://m.mcbbbk.com/newsview805611.html

所属分类:萌宠日常
上一篇: 关于狗狗的搞笑语录
下一篇: 细节描写句子