摘要:在SpringBoot中使用JPA,在映射数据库的时候,假如你的数据库是按照约定进行设计的那么没有问题,如果不是按照约定的就会发生报错。
例如我数据库中有一个主键id的字段,本应该设计为【object_id】,可是去给设计成了【objectId】
一:在使用JPA时就会发生异常,其实就是因为命名不规范引起的
这是实体的映射类
1 |
|
首先我强调,你要确保你的数据库中的字段和colum一致,并且没有什么换行,空格这种低级错误。
然后我们调用接口后发现会报如下错误
1 | Unknown column 'user0_.object_id' in 'field list' |
你确认你的字段正确,没有换行,空格导致的错误的话,这里的原因只有一个:
那就是驼峰命名,即使你指定@Column的name也不起作用
解决办法
在application.properties添加jpa属性:
1 | spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl |