国内的文章看了一遍,其实没找到根本问题解决方法,下面将列举这一系列的问题解决方法:

1、在配置文件增加如下配置:

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

2、在实体和属性上分别增加如下注解:

// 表名
@Table("\"User\"")
// 字段
@Column("\"Name\"")

从根本问题解决:

1、其实在设计数据库的时候,包括在MySQL上是不允许出现大写表名,并且相邻字母之间使用下划线做标识。

2、那么从现在开始,应该把你的数据库设计全部转成小写,并去除上面的代码。

参考:

https://stackoverflow.com/questions/36353492/jpa-uppercase-table-names

https://stackoverflow.com/questions/28571848/spring-boot-jpa-insert-in-table-with-uppercase-name-with-hibernate

05-11 14:00