一:在JPA中有个很扯淡的事情那就是,你如果是按照约定设计的数据库,那么没有什么问题。可是不按照约定呢?
@Entity
@Table(name = "user")
public class User implements Serializable {
@Id
@Column(name = "objectId", length = 32)
private String objectId;
首先我强调,你要确保你的数据库中的字段和colum一致,并且没有什么换行这种低级错误。
然后我们调用接口后发现会报错
Unknown column 'user0_.object_id' in 'field list'
你确认你的字段正确,没有换行错误的话,这里的原因只有一个:
那就是驼峰命名,即使你指定@Column的name也不起作用
二:解决办法
在application.properties添加jpa属性:
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
复制粘贴,就可以了。