如何在Spring Data Cassandra中自动实现驼峰到蛇形命名的映射?
Spring驼峰字段自动映射数据库蛇形字段的配置方法
一、JPA(Hibernate)场景
全局配置(最常用)
直接在配置文件里加以下配置,就能让实体类的驼峰字段自动对应数据库的蛇形字段,不用再逐个加@Column注解:
- 若用
application.properties:
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
- 若用
application.yml:
spring: jpa: hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
CamelCaseToUnderscoresNamingStrategy是Hibernate提供的默认策略,会自动把userName这类驼峰格式转成user_name这种蛇形格式。
自定义命名策略(特殊场景)
如果默认策略满足不了需求,你可以自己实现PhysicalNamingStrategy接口,自定义转换规则,但绝大多数场景用默认策略就足够了。
二、MyBatis/MyBatis-Plus场景
配置文件开启自动转换
同样在配置文件里加一行配置即可:
application.properties:
mybatis.configuration.map-underscore-to-camel-case=true
application.yml:
mybatis: configuration: map-underscore-to-camel-case: true
开启后,MyBatis会双向自动转换:查询时把数据库的蛇形字段映射到实体类驼峰字段,插入/更新时把驼峰字段转成蛇形字段存入数据库。
MyBatis-Plus配置类方式(可选)
如果习惯用配置类,也可以通过代码开启:
@Configuration public class MyBatisPlusConfig { @Bean public ConfigurationCustomizer configurationCustomizer() { return configuration -> configuration.setMapUnderscoreToCamelCase(true); } }
内容的提问来源于stack exchange,提问作者남혁준
相关产品推荐
相关产品推荐

