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

Quarkus 2.14.1.Final配置CamelCaseToUnderscoresNamingStrategy无效,求排查

问题排查与解决方案

1. 移除手动添加的@Column注解

你的实体类中显式添加了@Column(name = "user_name"),这会直接覆盖Hibernate命名策略的自动映射规则——无论配置什么命名策略,Hibernate都会优先使用注解指定的列名。所以第一步必须删掉这个注解:

@Entity
public class User extends PanacheEntity{
  String userName; // 移除@Column注解
}

2. 确认配置的正确性

你使用的配置项是正确的,但需要确保:

  • 配置文件为application.properties(若用YAML格式则对应调整语法),且放置在src/main/resources目录下
  • 配置项拼写无误:quarkus.hibernate-orm.physical-naming-strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy

3. 检查是否存在冲突配置

如果同时配置了quarkus.hibernate-orm.implicit-naming-strategy,可能会和物理命名策略产生冲突。确保没有设置会覆盖自动驼峰转下划线的隐式命名策略,默认的隐式命名策略是兼容该物理策略的。

4. 版本兼容性验证

Quarkus 2.14.1.Final搭配的Hibernate ORM版本为5.6.x,而CamelCaseToUnderscoresNamingStrategy在Hibernate 5.4+就已支持,因此不存在版本兼容问题。

测试验证

完成调整后,可开启quarkus.hibernate-orm.log.sql=true配置查看执行的SQL语句,此时userName属性应自动映射到数据库的user_name列。


内容的提问来源于stack exchange,提问作者Altafhusen Makandar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:01:24