如何将未被 Envers 审计的字段添加到审计 table

How to add field which is not audited by Envers to audit table

我正在寻找有关如何将未标记为@Audited 的字段包含到审核中的解决方案table。

我有这样一个数据库结构:

create table user (
    id CHAR(36) not null,
    first_name varchar(200) not null,
    last_name varchar(200) not null,
    phone_number varchar(15),
    primary key (id)
);

@Audited 注释放在 first_name 和 User.class 中的 last_name 字段,结果下面的审计 table 被创建:

create table user_aud (
    id CHAR(36) not null,
    rev integer not null,
    revtype tinyint,
    first_name varchar(200),
    last_name varchar(200),
    primary key (id,rev)
) engine=InnoDB;

我还想在我的 user_aud table 列中添加 phone_number 但 phone_number 更改不应创建新的修订版。我不想关注 phone_number 的更改,但仍然将其作为审计记录的一部分。

如果可能的话,如果能提供有关如何完成的信息,我将不胜感激。我使用的是 5.4.4.Final Hibernate 版本。

查看此主题,让我知道它是否涵盖您的情况。对我来说,它似乎应该适合你。

not to create revision for particular column change