触发 Hibernate Envers 审核

问题描述 投票:0回答:1

我有一个实体

@Entity
@Audited
class ValuesHolder(

    // other fields

    @Column(columnDefinition = "NUMERIC(18,6)[]", nullable = false)
    var values: List<BigDecimal?>,
)

当我对值进行任何更改时,hibernate envers 不会将其识别为更改,并且不会审核更改。这是为什么?我该如何做到这一点?我需要手动执行此操作吗?

spring kotlin hibernate hibernate-envers
1个回答
0
投票

尝试使用@ElementCollection注释,一般来说,Hibernate Envers可能无法识别对List等可变对象集合的更改。

@Entity
@Audited
class ValuesHolder(

// other fields

@ElementCollection
@Column(columnDefinition = "NUMERIC(18,6)", nullable = false)
var values: List<BigDecimal?>,
)

@ElementCollection 确保 Hibernate 将集合元素视为实体的一部分并对集合执行脏检查。 Envers 将检测和审核对集合或其元素的更改。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.