问题标签 [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 投票
0 回答
144 浏览

nhibernate-envers - IntegrateWithEnvers 错误

我正在尝试开始使用 nhibernate envers,并且在尝试配置它时似乎遇到了错误。我现在只是尝试在单个实体上设置审核,以使其保持简单。我收到以下错误:

我这样设置我的审计:

在我的产品实体中,我具有以下属性:

它们在 Fluent NHibernate 中映射如下:

似乎应该避免引发的错误,因为我明确地试图排除对该关系的审计。不太确定这里出了什么问题。

0 投票
0 回答
38 浏览

java - Hibernate Auditing 在更新或创建特定文件时生成事件

我想在状态更新/创建后立即记录事件。现在我正在使用 JPA、AbstractAuditEvent、IDiffEvent 事件来生成事件,我成功地能够记录完整的实体信息,例如案例创建事件和案例更新事件,但想要记录案例状态更改事件并仅单独审核状态列信息如何做我做到了。

0 投票
1 回答
428 浏览

java - Hibernate Enver:@AuditMappedBy 不工​​作

我用实体 B 的空白集合创建了 A 的实例,定义了名称,并将其保存到 DB 中。这是修订 #1。现在我使用以下语句来获取 A 类的所有初始修订版

我遇到了一个例外

无法解析属性:aId_id of: .B_AUDIT [从 B_AUDIT e__ 中选择 e__ 其中 e__.aId_id = :a_id 和 e__.originalId.REV.id <= :revision 和 REVTYPE != :delrevisiontype 和 (e__.REVEND.id > :修订版或 e__.REVEND 为空)]

以下是我的课程详情

B有@oneToMany 关系

Hibernate Enver 版本:5.1.4.Final

谢谢您的支持。

0 投票
1 回答
1098 浏览

java - Hibernate Enver:@AuditJoinTable 行丢失

给定一个由 Envers 审计的实体,其中包含一个集合。

实体 A

实体 B

根据他们的文档 ,Envers 将添加和删除的审计信息存储到这些 AuditJoinTables (A_B_AUDIT)。但不幸的是,这不起作用,并且表中的行丢失了。

当我运行我的项目时,会创建以下表格:

A_AUDIT

B_AUDIT

A_B_AUDIT

我有单独的控制器来持久化 A 对象和 B 对象。当我尝试使用 aId 和 A 保存 B 时,audit_table ( A_B_AUDIT ) 不会更新,但更新版本的B_AUDIT会更新。

有人可以让我知道我在这里缺少什么。

谢谢 !!

Hibernate Enver 版本:5.1.4.Final

0 投票
1 回答
161 浏览

nhibernate-envers - Envers 和批量加载脚本

我最初通过 liquibase 脚本加载了一些数据,这导致 envers 审计表丢失了插入记录。所以虽然我有更新记录,但我没有原始插入记录

我编写了一个数据脚本来使用创建记录重新插入此数据 - 但它是一个相当重的脚本,因为您必须考虑 4 个场景 -

  • 具有现有插入记录的数据 - 无迁移
  • 具有更新/删除记录但没有插入记录的数据 - 需要插入记录
  • 没有审核条目的数据 - 这是批量上传,没有任何后续更改
  • 重置现有记录

编写的脚本,但是有没有更简单的方法来做到这一点?还是我只是搞砸了没有创建初始插入记录?

我猜你不需要更新/删除记录 - 但我在视图中使用审计表

谢谢

0 投票
1 回答
75 浏览

nhibernate - RavenDB 4 - 更改修订时间戳

我计划从 SAP SQLAnywhere + NHibernate + Envers 迁移到 RavenDB4。

我正在做一些迁移和性能测试。目前,我正在寻找一种将 Envers Audit 迁移到 Raven 修订版的方法。

我正在尝试什么:

  1. 读取源审计记录。
  2. 将其插入 RavenDB。
  3. 为每条审计记录打补丁。

一切正常,但我需要将 raven 修订时间戳从迁移点更改为保存的 Envers 时间戳。有什么线索可以做到这一点,或者可能是进行这种迁移的更好方法?

我想避免为遗留数据创建另一个集合或添加原始时间戳作为元数据。

谢谢你

0 投票
0 回答
662 浏览

java - Hibernate Envers 抛出 java.sql.SQLException:无法转换为内部表示

我正在使用 hibernate envers 5.2.17.Final 版本存储和检索实体的审计历史记录,并在检索Category实体的审计历史记录时出现以下异常。

这是我的Category实体的样子。如您所见,NCRRule 使用NAME而不是主键Id映射到 Category 。

NCRRule是未经审计的实体

异常堆栈跟踪如下:

我尝试将in设置@AuditMappedBy(mappedBy = "ncrRuleName")为实体,但在启动时出现异常。private NCRRule ncrRule;Category

检索审计历史的代码是:

0 投票
1 回答
36 浏览

nhibernate-envers - 有没有办法只跟踪 NHibernate Envers 中的对象删除?

我想配置 NHibernate Envers,以便仅审核对象删除。可能吗?

0 投票
2 回答
1638 浏览

c# - c# 从 linq join 返回命名元组

我正在尝试在来自 nhibernate envers 的修订实体和带有用户名的列表之间执行连接。我想返回一个命名元组的列表。

这是我的代码

但现在我没有找到返回元组的方法

  • 演员没有工作
  • ToValueTuple 不适用于我的查询对象

我也试试

但我得到了new cannot be used with tuple type

并得到关于参数不对应的错误

0 投票
2 回答
346 浏览

nhibernate - 使用每类映射表设置 NHibernate Envers 时遇到问题

我们一直在考虑使用 Envers,但遇到了障碍。我们使用一个表/类结构,它为几个类使用每个类继承的表。当 NHibernate 和 Envers 正在加载时,当它尝试为子类创建表时会发生错误。

NHibernate.MappingException:无法为类 Demo.Vehicle_AUD 构建插入语句:添加鉴别器时发生故障 ---> System.ArgumentException:此 SQL 构建器中已添加列“VehicleTypeId”

参数名称:columnName

这是一个类似于我们正在使用的示例。

表定义:

我们正在使用 FluentNHibernate:

映射:

使用 SubclassMap 将飞机与汽车类似地映射

该错误似乎正在发生,因为 Envers 正在尝试为两个子类创建 Vehicle 表。我尝试了包括/排除 Vehicle 类以进行审计的不同变体。

我的第一个问题是 Envers 是否支持每个类继承使用表?如果是这样,谁能指出我如何为每个班级的表格配置它的示例/文档?

谢谢。