You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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,提问作者남혁준

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:35:28