背景
如果数据库中的字段为:importDate,在Hibernate中配置实体类和数据库字段映射的时候配置为:@Column(name = "importDate")
则会出现问题。
hibernate在生成的sql的时候会将importDate转换为import_date,将驼峰命名转换为下划线的方式,就会导致import_date该字段无法找到。
解决方案
- 第一种解决方式
如果项目中所有的实体类都有这个问题,可以直接配置策略来修改,如果只是某一个又问题,建议使用第二种方式。
spring:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
- 第二种方式:
将@Column(name = "importdate")
中的名称修改为全小写即可,不要使用驼峰命名。// 没有修改之前的字段映射配置 @Column(name = "importDate") private Date importDate; // 修改为全是小写,就不会自动转换为下划线的字段名 @Column(name = "importdate") private Date importDate;