sp0*_*00m 5 java naming hibernate spring-data-jpa spring-boot
默认情况下,我的 Spring Boot 项目通过将名称从camelCase 转换为snake_case(例如from fooBarto foo_bar)来将实体属性映射到表列。
我正在处理现有的数据库,其中实体属性名称保留为表列名称(例如 from fooBarto fooBar),因此我尝试使用@Column注释显式指定名称:
@Column(name = "fooBar")
private String fooBar;
Run Code Online (Sandbox Code Playgroud)
这是行不通的。我遵循了这里给出的建议:
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Run Code Online (Sandbox Code Playgroud)
我@Column现在已成功考虑在内,但我在没有@Column注释的属性上丢失了camelCase到snake_case的隐式转换。
除非在@Column注释中明确指定,否则知道默认情况下如何从camelCase 转换为snake_case吗?
小智 0
从 Hibernate 5 开始,似乎不再支持使用驼峰命名法(Java 中的命名约定)将属性名称自动转换为 SNAKE_CASE。但是,您可以编写自己的 NamingStrategy 实现,完全做到这一点。请检查此 Stackoverflow-Answer以了解它是如何完成的。
| 归档时间: |
|
| 查看次数: |
7238 次 |
| 最近记录: |