3

我正在尝试使用 hibernate-envers 审核 @Embeddable 对象的集合。

根据https://hibernate.atlassian.net/browse/HHH-6613添加了对审核 @ElementCollection 的支持。此功能似乎效果不佳:尝试保存具有相同修订号的多个 @Embeddable 对象时会抛出 NonUniqueObjectException。

有没有人有一个使用 Envers 审核的 @ElementCollection+@Embeddable 的工作示例?

4

1 回答 1

1

从 Hibernate 5.2.8 开始,我们设法通过以下步骤使其工作:

  1. 将 java 类型定义Set为可嵌入元素的集合
  2. 可嵌入元素类中的实现hashCode()和方法equals()
  3. 确保SETORDINAL在包含所述元素的审计日志的表中创建一个名为 int 的列(或者让 hibernate 通过设置适当的配置键为您创建表)。
于 2018-10-05T14:36:23.683 回答