0

我有以下envers配置:

        hibernateCfg.SetEnversProperty(ConfigurationKey.DefaultSchema, "audit");
        hibernateCfg.SetEnversProperty(ConfigurationKey.RevisionFieldName, "Rev");
        hibernateCfg.SetEnversProperty(ConfigurationKey.RevisionTypeFieldName, "RevType");
        hibernateCfg.SetEnversProperty(ConfigurationKey.AuditTableSuffix, "_Audit");

        var cfg = new FluentConfiguration();
        cfg.SetRevisionEntity<RevisionInfo>(x => x.Id, x => x.RevisionTimestamp, new RevisionListener());

        cfg.Audit<User>().Exclude(x=>x.Account).Exclude(x=>x.Agentie).Exclude(x=>x.Location).Exclude(x=>x.Produse).Exclude(x=>x.Roles);
        //cfg.Audit<Account>().ExcludeRelationData(x => x.Users);
        //cfg.Audit<Document>();

        hibernateCfg.IntegrateWithEnvers(new EnhancedAuditEventListener(), cfg);

没有创建审计表,也没有保存数据。我曾尝试audit.User_Audit自己创建表格,但没有任何变化。我有 nhibernate envers 1.30 和 nhibernate 3.3.1。

我需要其他配置来完成这项工作吗?

4

1 回答 1

0

我解决了。问题是我有一些来自用户的派生类(如 BrokerUser :用户),我将其与鉴别器一起使用。我添加后:

cfg.Audit<BrokerUser>()

问题解决了。

于 2013-01-16T09:05:07.940 回答