解决(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';
解决:
- 在MySQL中设置 lower_case_table_names的值为'0'
- 重新启动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:物理命名策略,用于转换“逻辑名称”(隐式或显式)的表或列成一个物理名称
解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题相关推荐
- 解决(springboot项目)mysql表名大写,造成jpa Table doesn‘t exist问题
解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题 参考文章: (1)解决(springboot项目)mysql表名大写,造成jpa Table ...
- jpa遇到mysql表名大写怎么办_解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题...
一般实体类中的属性, 如contentType会被hibernate默认映射为content_type,如果数据库中的字段是contenttype则会不匹配 这个问题有2种解决方法: 我的报错是: j ...
- 解决 springboot + JPA + MySQL 表名全大写 出现 “表不存在” 问题(Table ‘XXX.xxx‘ doesn‘t exist)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 项目中使用 JPA 和 mysql .表名是全大写的. 出现 如下报错: java.sql.SQLS ...
- mysql 表名和和数据库函数名称冲突的解决方法
解决核心:在表名上加上单引号.比如show->'show',在mybatis中不可直接加' '要用到转义字符. 好久没写blog了,今天刚考完网络后面还有一大段时间没考试可以学点技术了.但是,今 ...
- mysql表名能大写么_MySQL中表名大小写问题
在设计数据表时,有自己特有的规则:英文单词的首字母大写,比如表名User, Article, UserRole, 等等,这种办法使用得很顺手习惯,在以往使用的MS SQL Server.MS Acce ...
- linux如何把mysql表名换成小写_让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)...
把 Windows 下的应用部署到 Linux 下,使用到了 Quartz 集群的特性,所以建了 MySql 的中间表,一启动看到报错: Invocation of init method faile ...
- MySQL表名后接t_mysql表名忽略大小写
MYSQL表名忽略大小写 问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: 这张表明明存在,为什么程序 ...
- mysql表名忽略大小写
安装完数据库,建表查询发现表不存在,原来是表名大小写写错了,原来Linux下的MySQL默认是区分表名大小写的,这样的话对变成灰带来很大的不变,如何才能使mysql表名不区分大小写呢? 通过如下设置, ...
- JPA映射数据库mysql表名,字段名大小写转化,下划线分割.
遇到小写加下划线"_" 的命名 spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm ...
最新文章
- 以字符串数组为输入参数的存储过程
- ACE中的Proactor介绍和应用实例
- Java JUC之Atomic系列12大类实例讲解和原理分解
- iview中时间选择器可设置选择范围方法(一个月 一周等)
- with语句python_Python之with语句
- 符合推理的解决方法 NSlover
- 来来来!统一命名服务、集群管理、分布式应用
- 面试题57 - II. 和为s的连续正数序列
- 在Sublime Text 2下面开发Sass
- HTML5 Canvas 和 SVG
- 朋友圈加粗字体数字_可爱搞笑的女生朋友圈文案
- 阅读《http权威指南》
- Linux 之六 Shell、终端(Terminal)、控制台(Console)、CLI 命令行界面、GUI 图形用户界面(X、X11、Xfree86、Xorg、GNOME、KDE)
- 宽带噪声干扰 matlab,噪声干扰信号及Matlab仿真.doc
- Windows2008 R2配置FTP教程
- C语言 while语句的用法
- 如何更改域计算机用户名和密码错误,win7加入域失败:未知的用户名或密码错误 | 绿萝...
- 二维码:MP3音频世界的进化
- odi连接oracle数据库,通过ODI接口把数据从Oracle数据库抽到HIVE数据库怎么解决
- 阿里巴巴国际站Dropshipping模式探索
热门文章
- mysql函数未定义_未定义的函数,MYSQL错误
- PWN-PRACTICE-CTFSHOW-2
- CCIE-LAB-SDN-第一篇-修改交换机管理IP
- 【CodeForces - 628C】Bear and String Distance(贪心,构造)
- 【ZOJ - 2949】Coins of Luck (概率dp,期望)
- 【EOJ Monthly 2019.02 - A】回收卫星(交互题型,二分)
- *【POJ - 3061】 Subsequence (尺取或二分)
- 原生JS动态计算输入框文本内容的宽度,当内容宽度超过输入框的宽度时可控
- PCA算法中样本方差和协方差的无偏估计与n-1的由来
- oracle如何把字符集改回默认,更改oracle字符集