使用hibernate envers在审计表中添加其他列

时间:2014-08-20 10:14:00

标签: hibernate hibernate-envers

是否可以在审计表中添加其他列? 例如,我有一个像这样的表

@Entity
@Table(name="EmpEnverPrac")
@Audited
public class EmpEnverPractice {


        @Id
        @Column(name="ID") 
        @GeneratedValue(strategy  = GenerationType.AUTO)
        private Integer id; 

        @Column(name="NAME") 
        private String name; 

        @Column(name="password")
        @NotAudited
        private String password; 

     // getter and setters

}

现在我想在我生成的审核表中添加一些额外的列,但我不想将它们包含在我的实体中。我无法找到满足此要求的任何解决方案。请告诉我所需的配置。提前谢谢

2 个答案:

答案 0 :(得分:3)

我找到了我的要求的解决方法,因为我可以在REVINFO表中添加额外的列(hibernate给出的默认名称)。此表为应用程序中的每个事务存储带有时间戳的id,这样我就可以获得有关任何事务的信息。可在此处参考http://docs.jboss.org/envers/docs/#revisionlog

答案 1 :(得分:0)

从技术上讲,这是一个奇怪的要求,审查你的业务和设计,如果你需要一个基类和扩展类的概念:EmpEnverPractice,如果是的话,你可以映射子类的所有字段,并使用没有基类那些你不需要的领域。