SpringData JPA 使用的默認命名策略是: ImprovedNamingStrategy 。用下劃線轉換駝峯名,如 authorId ,轉換成 author_id 。這樣就遇到了一個問題:實體中駝峯命名的列名轉換成下劃線後,在MySQL中執行時找不到字段。java
有兩種解決辦法:spring
(1)若是這種字段比較少,可使用 @Column 單獨對該字段進行標註:bash
@Column(name="authorId") private String authorId;
(2)若是大量存在這種字段,能夠更改默認命名策略,替換爲:PhysicalNamingStrategyStandardImpl.net
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl