解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题

这个问题有2种解决方法:

我的报错是:

 java.sql.SQLSyntaxErrorException: Table 'gaei_ms.gaei_work_task' doesn't exist


方法一:

转自:https://confluence.atlassian.com/fishkb/table-xxx-doesn-t-exist-error-with-mysql-server-302810019.html

2012-09-05 10:12:30,728 ERROR [btpool0-472 ] fisheye.app TotalityFilter-logExceptionDetails - Exception "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'fecru.AO_B434B9_WEB_HOOK' doesn't exist" (net.java.ao.sql.ActiveObjectSqlException) while processing "/plugins/servlet/webhooks/list" (Referer:"https://fisheye.bln.native-instruments.de/admin/viewServerSettings.do")
net.java.ao.sql.ActiveObjectSqlException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'fecru.AO_B434B9_WEB_HOOK' doesn't existat com.atlassian.activeobjects.internal.EntityManagedActiveObjects.find(EntityManagedActiveObjects.java:114)at com.atlassian.activeobjects.osgi.DelegatingActiveObjects.find(DelegatingActiveObjects.java:71)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'fecru.AO_B434B9_WEB_HOOK' doesn't exist

原因:

MySQL对lower_case_table_names使用区分大小写的表名比较设置  (可能值为'0')。但是,FishEye在表名  FE-4276中不一致-数据库表OPEN的大小写不一致您可以使用以下查询确认设置: 

show variables like 'lower_case_table_names'; 

解决:

  1.  在MySQL中设置  lower_case_table_names的值为'0'
  2. 重新启动MySQL和FishEye / Crucible。


方法二:

我的情况是springboot项目,配置文件的改法略有不同:

我的改法是在配置文件中加上这一行:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl


以下转自:https://blog.csdn.net/Halleycomett/article/details/78638639

报错信息

org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table XXX doesn't exist

报错原因调查

mysql里实际表名都是大写

尝试在entity上标记表名大写,实际测试无效,仍然找不到表

@Entity
@Data
@Table(name = "T_BASE_ORDER_PRINT_CLIENT")
public class MerchantPrinter {@Id@Column(name = "print_client_id")private String id;@Column(name = "merchant_id")private String merchantId;private String imei;}

最终的解决方案

在spring jpa配置中增加physical-strategy配置解决问题spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://XXX:3306/dbnameusername: rootpassword: *******schema:jpa:hibernate:ddl-auto: nonenaming:physical-strategy:  org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImplshow-sql: true

physical naming strategy :used to convert a “logical name” (either implicit or explicit) name of a table or column into a physical name (e.g. following corporate naming guidelines) 
physical naming strategy:物理命名策略,用于转换“逻辑名称”(隐式或显式)的表或列成一个物理名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建webpack基础配置

搭建webpack基础步骤: 1.去官方网站下载node.js(根据自己电脑的系统类型选择) 2.安装node.js完成后打开cmd命令提示符: 出现版本号证明安装成功 3.cd到工程目录下 npm install -g vue-cli(这里使用的是vue-cli脚手架安…

研究:多感官教学增强记忆 学习效率事半功倍

人们在记忆外部信息时,必须先要去接受这些信息,而接受信息的“通道”不止一个,有视觉、听觉、嗅觉、味觉、触觉等等。有多种感官参加的记忆叫做“多通道”记忆。图为台中一幼稚园户外写生活动。 生动的教学方法往往可以吸引大多数孩子&#…

330 div+css Experience

今天学习的div,感觉对编辑html更为方便快捷,但还是需要多练,多熟悉一下思路和逻辑方式 越来越感觉,代码不是重要的,重要的是方向和思路,am的float clearfloat 及属性,还有overflow 溢出的三个属…

时间序列的平稳性检验方法汇总

时间序列平稳性检验方法,可分为三类: 图形分析方法 简单统计方法 假设检验方法 一、图形分析方法 可视化数据 可视化数据即绘制时间序列的折线图,看曲线是否围绕某一数值上下波动(判断均值是否稳定),看…

tcp的发送端一个小包就能打破对端的delay_ack么?

3.10内核,反向合入4.9的bbr。 最近分析bbr的时候,收集了线上的一些报文,其中有一个疑问一直在我脑海里面,如下: 本身处于delay_ack状态的客户端,大概40ms回复一个delay_ack,当收到一个490字节的…

Git 诞生记

你可能有过这样的经历:在 debug 的时候这里加一句,那里减一句,顺便改改参数,不一会你的程序就从一个 bug 增加到了无数个 bug 。最重要的是,你完全想不起来自己到底改了几个地方,原来的程序到底长什么样子了…

使用pandas进行量化回测(akshare)

本人看法,也就比excel高级一点,距离backtrader这些框架又差一点。做最基础的测试可以,如果后期加入加仓功能,或者是止盈止损等功能,很不合适。只能做最简单的技术指标测试。所以别太当回事。 导包,常用包导…

使用vue+webpack从零搭建项目

vue到现在已经成为一个热门的框架,在项目实践当中,如果想要创建一个新项目,通常都会使用vue-cli的脚手架工具,毋容置疑能够方便很多,很多东西也不需要自己亲自去配置。都知道,脚手架其实是vue结合webpack去…

怎样从Linux终端管理进程:10个你必须知道的命令

本文由 极客范 - Ben Zhang 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新…

搞了个30天学习量化的数据资料,可以bt做全球。数据链接白送

待会上传代码,资料,打包好了,拿来就能用。累死我了,搞了两天,必须收费,绝不允许白嫖。不然对不起我熬夜,那么辛苦。 确定后,扫描百度网盘 链接:https://pan.baidu.com/s/1C0k6zkjHchFVQaHe4nRMsg?pwd=kkgb 提取码:kkgb 如何回测k线图 如何根据形态选股

自学Linux命令的四种方法

本文由 极客范 - 小道空空 翻译自 Danny Stieben。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 每日提示 学习Linux命令的…

第五周学习总结

第六章: 主要内容: 1.接口 2.实现接口 3.理解接口 4.接口回调 5.接口与多态 6.接口变量做参数 7.面向接口编程 Example6_1: Example6_2: Example6_3: Example6_4: Example6_5: Example6_6: 总结:这章节没有较大问题,例题也都做了一遍。蛮顺利…

Android 设备的CPU类型(通常称为”ABIs”)

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。x86: 平板、模…

通过8个技巧让你成为一个超强的Linux终端用户

本文由 极客范 - minejo 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。使用Linux终端不仅仅是只输入命令。学习这些基本的技巧,你就会逐渐掌握Bash shell,这个在大多数Linux发行版上默认…

时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析

2019独角兽企业重金招聘Python工程师标准>>> InfluxDB 的存储机制解析 本文介绍了InfluxDB对于时序数据的存储/索引的设计。由于InfluxDB的集群版已在0.12版就不再开源,因此如无特殊说明,本文的介绍对象都是指 InfluxDB 单机版 1. InfluxDB 的…

如何在Linux上提高文本的搜索效率

本文由 极客范 - minejo 翻译自 Xmodulo。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。对于系统管理员或程序员来说,当需要在复杂配置的目录中或者在大型源码树中搜寻特定的文本或模式时,grep类型的工具大概是…

JSch - Java Secure Channel : java 代码实现服务器远程操作

一、前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 JSch是SSH2的纯Java实现 。 JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等&#xff0…

前嗅ForeSpider教程:数据建表

今天,小编为大家带来的教程是:如何在前嗅ForeSpider中,进行数据建表操作及各注意事项。主要内容包括:快速建表,自由建表,字段参数,数据表的创建,关联与删除,以及表单变更…

世纪大争论:Linux还是GNU/Linux?

本文由 极客范 - 爱开源的贡献开源社区 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。我们在网上已经习惯用“Linux”来称呼Linux操作系统了,然而,偶尔也用“GNU/Linux”来称呼和指代同…

PyTorch Softmax

PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. The other is do softmax on a spatial matrix sized in B, C, H, W. But it seems like some problems existing in Softmax2d. : ( 转载于:https://www.cnblogs.com/hiz…