Spring boot jpa @Column命名大小写问题

一:在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

复制粘贴,就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章