【发布时间】:2025-12-21 21:21:02
【问题描述】:
我正在我正在处理的项目中实现 Hibernate Envers,对于这个客户,数据库中的表和列必须遵循特定的名称模式。名称模式使用表名生成部分列名,保存修订的表与原始表具有不同的名称(当然),因此我需要能够更改生成的表的列名恩弗斯。
如何更改实体试听表的列名?
- 我使用的是休眠 4.3.11-FINAL
- 更改修订表 (REVINFO) 名称和列以及实体的试听表名称都没有问题
【问题讨论】:
-
Alexandru 是正确的,目前无法自定义列名,因为使用的命名已被烘焙到从逻辑源表读取的元数据中。我添加了一个新的 JIRA 问题 hibernate.atlassian.net/browse/HHH-10941。如果这是真正有用的东西,请随意添加投票。
-
感谢@Naros,刚刚投票 =)
-
好吧,由于 hibernate 支持属性上的@Column 注释,我希望在“@Audit”注释中有类似“@AuditColumn”或参数“columName”的东西
-
modifiedColumnName有一个属性,但这仅在全局启用或在每个审核属性上启用修改属性功能时使用。我可以看看是否有时间在 6.x 发布周期中引入这个,但一如既往地欢迎拉取请求:)。 -
作为 Envers 代码库的维护者之一,目前无法更改列名,也没有解决方法。这就是我添加 HHH-10941 的原因。欢迎您针对该问题提交拉取请求,如果它很重要,则添加此功能。
标签: hibernate hibernate-envers