一:在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
複製粘貼,就可以了。