0

我想更好地理解 Hibernate Envers 的行为。这是问题所在:(PostgreSQL)我有这个:

Person  (
          id bigint not null, 
          job character varying(10)
)

加上它的“_aud”表 Person_AUD

现在,我必须做这个改变:

ALTER TABLE Person
ADD COLUMN group varchar (10);

而且,在那之后,是这样的:

UPDATE TABLE Person
SET group='unemployed'
WHERE job=null;

我的问题是:当我运行“alter table”时,Hibernate 对我的 _aud 表做了什么?而且,当我运行“update”时,Hibernate 对 my_aud 表做了什么?

我问这个是因为我无法尝试(我必须使用 Liquibase “手动”执行此操作,所以我问你:))

4

1 回答 1

0

假设group要审计列,您还需要Person_AUD像对Person表所做的那样进行更改:

ALTER TABLE Person_AUD 
ADD COLUMN group varchar(10)

由于该字段是NULL-able,因此是否需要在Person_AUD表上执行类似的更新语句完全取决于您。如果你愿意,它会是:

UPDATE Person_AUD 
   SET group = 'unemployed' 
 WHERE job is NULL

重要的是要注意,表中更新的Person_AUD行数不一定与表中更新的行数相同Person,因为审计表可能包含多个行,对于来自Person.

于 2016-06-17T16:15:14.517 回答