我有一个实体
@Entity
@Audited
class ValuesHolder(
// other fields
@Column(columnDefinition = "NUMERIC(18,6)[]", nullable = false)
var values: List<BigDecimal?>,
)
当我对值进行任何更改时,hibernate envers 不会将其识别为更改,并且不会审核更改。这是为什么?我该如何做到这一点?我需要手动执行此操作吗?
尝试使用@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 将检测和审核对集合或其元素的更改。