SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

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

SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

相关推荐