一般实体类中的属性, 如contentType会被hibernate默认映射为content_type,如果数据库中的字段是contenttype则会不匹配

这个问题有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 exist

at 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和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 classMerchantPrinter{

@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.Driver

url: jdbc:mysql://XXX:3306/dbname

username: root

password: *******

schema:

jpa:

hibernate:

ddl-auto: none

naming:

physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

show-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:物理命名策略,用于转换“逻辑名称”(隐式或显式)的表或列成一个物理名称

jpa遇到mysql表名大写怎么办_解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题...相关推荐

  1. mysql空表不导出问题_解决Oracle 11g空表无法导出的问题

    Oracle 11g 新增参数deferred_segment_creation ,建库的时候默认值为true,意思是延时加载,当表中不存在数据的时候,不为这个表 Oracle 11g 新增参数def ...

  2. springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据

    在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...

  4. mysql建表按 t分开_记一次MYSQL建表失败得bug

    CREATE TABLE `SUIT` ( `id` INTEGER(11) NOT NULL AUTO_INCREMENT, `acId` INTEGER(11) NULL COMMENT '活动I ...

  5. mysql 9.0创建数据库_数据库基础学习——MySQL数据库知识小结(9)

    1 MySQL 中的约束 1.1约束类型 • 非空约束(not null) • 唯一性约束(unique) • 主键约束(primary key) PK • 外键约束(foreign key) FK ...

  6. mysql面向用户是什么意思_原来大厂的MySQL面试会问这些问题!

    1. 写出下面 2 个 PHP 操作 Mysql 函数的作用和区别(新浪网技术部) mysql_num_rows() mysql_affected_rows() 这两个函数都作用于 mysql_que ...

  7. mysql查询第八页_第八节:MySQL之Select指令详解和相关练习

    一. 前言 该篇文章基于之前   https://www.cnblogs.com/yaopengfei/p/7182230.html  的基础上进行补充修改. 1. 简介 就查询而言,可以简单的分为: ...

  8. boot连接不上mysql数据库_【springboot连接 MYSQL数据库出问题_springboot】 | IT修真院·坑乎...

    Spring: datebase: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/spring-c ...

  9. python django mysql写入中文乱码_解决django 向mysql中写入中文字符出错的问题

    之前使用django+mysql建立的一个站点,发现向数据库中写入中文字符时总会报错,尝试了修改settings文件和更改数据表的字符集后仍不起作用.最后发现,在更改mysql的字符集后,需要重建数据 ...

最新文章

  1. Silverlight:SSL教程
  2. 常用排序算法对比(时间复杂度、稳定性)
  3. struts2获取服务器临时目录
  4. webService学习1:myeclipse解析wsdl
  5. 使用Java查询DynamoDB项
  6. SAP MM ‘Pricing Date Control‘字段的理解
  7. python应聘的职位_Python学到哪种程度可以去应聘相关的职位了?
  8. yum无法正常使用的解决办法
  9. 6.企业安全建设指南(金融行业安全架构与技术实践) --- 安全培训
  10. USB控制相关批处理
  11. axure产品原型图,元件库导入方法
  12. SCI期刊分区介绍 / 中国科学技术信息研究所SCI(E)论文期刊分区列表——2017年-2020年-文件分享
  13. 微信公众平台开发网页开发
  14. 数据库中的主键、超键、候选键、外键
  15. Mac更新git用户名和密码
  16. pyecharts js 地图无法显示 Map china not exists the geoJson of the map must be provided
  17. excel提取每一行或每一列的最后一个数据
  18. 安卓高通Diag命令解析
  19. 绝世唐门漫画的王秋儿
  20. 网上商品交易网站,怎样做到信息安全

热门文章

  1. python 画风场 scipy_科学网-Python: 扩展库SciPy-刘洋洋的博文
  2. access期刊可以重投几次_又被拒稿了?老司机带你一投即中
  3. 源码里查看Android版本
  4. android之broadcast发送广播
  5. 学霸孩子必备的三种思维,编程思维的速成方法
  6. 复数混频发射机原理与仿真
  7. Ubuntu上安装TensorFlow(python2.7版)
  8. 微服务部署:蓝绿部署、滚动部署、灰度发布等部署方案对比与总结
  9. java利用kafka生产消费消息
  10. 使用JSTL报错:items does not support runtime expre...