阿亮 2018-10-16
SpringData JPA 使用的默认命名策略是: ImprovedNamingStrategy 。用下划线转换驼峰名,如 authorId ,转换成 author_id 。这样就遇到了一个问题:实体中驼峰命名的列名转换成下划线后,在MySQL中执行时找不到字段。
有两种解决办法:
(1)如果这种字段比较少,可以使用 @Column 单独对该字段进行标注:
@Column(name="authorId") private String authorId;
(2)如果大量存在这种字段,可以更改默认命名策略,替换为:PhysicalNamingStrategyStandardImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl