这个问题有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中设置  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 
     
      
  
报错原因调查 
mysql里实际表名都是大写  
尝试在entity上标记表名大写,实际测试无效,仍然找不到表  
 
 -  
   
  
 -  
   
  
 -  
  
 
    
    @Table(name = "T_BASE_ORDER_PRINT_CLIENT") 
     
      
 -  
  
 
    
    public class MerchantPrinter { 
     
      
 -  
  
      
      
 -  
   
  
 -  
  
 
    
    @Column(name = "print_client_id") 
     
      
 -  
   
  
 -  
  
      
      
 -  
  
 
    
    @Column(name = "merchant_id") 
     
      
 -  
  
 
    
    private String merchantId; 
     
      
 -  
  
      
      
 -  
   
  
 -  
  
      
      
 -  
   
  
  
最终的解决方案 
 
 -  
  
 
   
     在spring jpa配置中增加physical-strategy配置解决问题 
     
      
 -  
  
      
      
 -  
   
  
 -  
   
  
 -  
  
 
   
     driver- 
    class-name: com.mysql.jdbc.Driver 
     
      
 -  
   
  
 -  
   
  
 -  
   
  
 -  
   
  
 -  
   
  
 -  
   
  
 -  
   
  
 -  
   
  
 -  
  
 
   
     physical-strategy: org 
    .hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 
     
      
 -  
   
  
  
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:物理命名策略,用于转换“逻辑名称”(隐式或显式)的表或列成一个物理名称  |