问题标签 [nhibernate-envers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1627 浏览

c# - Fluent 配置异常

更新的堆栈跟踪

当我尝试在EnversConfiguration添加任何Audit<>时,会引发此异常。我有一个类似的应用程序,这不会发生。关于为什么会出现此问题的任何线索或信息?

0 投票
0 回答
1186 浏览

spring - Envers、Liquibase 和 Hibernate

我正在寻找一种方法来动态创建审计表的架构(在休眠中使用 DDL = none)。

目前我使用 liquibase 来创建我的表的模式。该配置使用带有 DB2 数据库的休眠(spring boot 应用程序)。目前我对 envers 表的插入语句有错误(因为不存在表):

<referenceUrl> 我已经阅读了带有 liquibase Hibernate 插件的 Hibernate 4,除了pom.xml中的标记外,无需任何特殊配置即可创建表

这是我的配置:

pom.xml

实体豆

应用程序属性

0 投票
1 回答
147 浏览

nhibernate - 向 NHibernate Envers Revision Entity 添加注释

我有基本的 Envers 工作,并且我了解如何将调用用户的名称之类的内容放入修订实体,因为这是有效的静态数据。但是如何添加用户为给定修订动态创建的评论?

我想我可以通过子类化一些侦听器和/或侦听器使用的类(或仅实现它们的接口)来找到某种方法,但是如果那里有人已经这样做了,我真的很感激一个例子。

TIA。

0 投票
2 回答
157 浏览

nhibernate - Envers generating audit-table schemas with all varchars length 1

I'm experimenting with Envers. I've got it working okay, except that when it generated the audit table for my audited entity it made all the varchar columns length 1, rather than the length of the corresponding column in the base table.

Like so:

and then

Of course I can change the lengths by hand, but if I start auditing a lot of entities that could get both tedious and error-prone. Here's the code that sets this up:

Any idea what I might be doing wrong?

0 投票
1 回答
437 浏览

nhibernate - NHibernate Envers ValidityAuditStrategy——我做错了什么?

我有以下配置来设置 NH 和 Envers:

如果我离开

它工作正常,但是使用该选项,当我提交事务(更新 CompanyAddressTb 对象)时出现以下异常:

任何帮助将不胜感激。

0 投票
1 回答
96 浏览

nhibernate - Nhibernate envers 修改的列不能正确跟踪从集合中删除

我有一个看起来像的模型:

在审核与 envers 的这种关系时,我在从集合中删除值时遇到了修改属性跟踪的问题。

如果从集合中删除值时我在 case-entity 中唯一更改的是“set-removal”,那么 envers 会正确跟踪该CaseTags属性在修订中被修改。但是,如果我还更改了任何其他属性,例如LastModified属性,我没有正确设置 CaseTags_MOD 标志。

我已经追踪到(我认为)这个AuditProcess.AddWorkUnit方法。当我只从集合中删除时,只WorkUnit添加了一个 (a CollectionChangeWorkUnit),但是当我还更改另一个属性时,另一个WorkUnit(a ModWorkUnit) 也会被添加。

然后似乎发生的CollectionChangeWorkUnit是 被丢弃以支持ModWorkUnit,而后者又不会获取对集合的更改。

是我试图不支持的东西,还是有办法解决它?

0 投票
4 回答
5302 浏览

java - 如何在 Spring Boot 应用程序中访问 AuditReaderFactory?

我正在使用 spring boot 和 spring data jpa。我也在使用休眠环境,我需要访问 AuditReaderFactory 以便我可以编写审计查询。

因为,它是一个 spring boot 和 spring data jpa,所以一切都是自动配置的。所以当我这样做时,

它不起作用。我收到以下错误。

如何在我的存储库类中获得对 AuditReaderFactory 的正确引用?

0 投票
1 回答
76 浏览

c# - 如何使用 nhibernate.envers 为历史实体设置批量获取

可以根据19.1.5http://nhibernate.info/doc/nhibernate-reference/performance.html#performance-fetching-batch)仅针对历史实体设置批量大小吗?我找不到选项,但也许有人偶然发现了这个问题,并且可以引导我朝着正确的方向前进,如果可能的话?

0 投票
1 回答
581 浏览

c# - Nhibernate envers,使用依赖注入将用户添加到修订实体中

在阅读了这个这个之后,我接近了解决方案,但还没有结束,因为我想念如何应用到我的实现中。

我有这个自定义修订实体和修订列表:

这是我的 SessionFactory

核心问题是如何进行工作注入revisionListner

编辑:

继续工作我看到了真正的任务: private static void InitializeSessionFactory: 因为它是静态的,所以无法在其中注入引用。必须找到不同的方式

0 投票
1 回答
92 浏览

c# - 查询属性被修改的版本,如果属性被修改,则选择一个标志

我有以下课程

审计表如下所示

我的查询看起来像这样

到目前为止,这有效并返回一个IEnumerable<Product, DefaultRevisionEntity>. Description我得到了 property 、 propertyPrice或两者都发生变化的所有修订。RevisionId和的信息RevisionDate包括在内。

但我也想查看每个版本的哪些属性发生了变化,因为我想向用户显示它。所以基本上我想HasChanged在结果中有标志。这可能吗?