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

MySQL Workbench是否会自动转换驼峰命名属性为下划线格式?

问题答复

这种现象不属于正常情况,核心原因是JPA实现层(Spring Data JPA默认用Hibernate)的配置覆盖了@Column注解的显式字段名配置,自动触发了驼峰转下划线的命名转换。

常见触发原因

  • 导包错误:@Column注解没有导入JPA标准包,错导入了第三方ORM框架的同名注解,导致框架无法识别你配置的name = "userId"参数。
  • 全局命名策略配置问题:Spring Boot默认的SpringPhysicalNamingStrategy会自动将Java驼峰属性名转换为下划线分隔的数据库命名字段,部分版本下该策略的执行优先级高于字段注解配置,会直接覆盖你在@Column里写的字段名。

修复方案

  1. 先排查导包:确认@Column导入的是jakarta.persistence.Column(JDK8及更早的旧版本为javax.persistence.Column),排除导包错误。
  2. 调整命名策略配置:如果要严格遵循@Column注解指定的字段名,在项目配置文件中修改Hibernate物理命名策略为标准实现,不会做自动命名转换,配置示例:
spring:
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
  1. 如果你本身就想用下划线命名的数据库字段规范,直接把@Column注解的name参数改成"user_id",和框架自动生成的字段名对齐即可,不需要改全局配置。

注意:Linux环境下MySQL默认区分字段名大小写,Windows环境默认不区分,不管选择哪种命名风格,都要保证注解配置的字段名和数据库实际字段名完全一致,避免运行时抛出字段不存在的异常。

内容的提问来源于stack exchange,提问作者IU Kottahchchi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:24:31