1

我正在使用 spring 3.1、hibernate 4 开始一个新项目,并且需要跟踪应用程序上的任何活动。活动跟踪示例who changed what? from what to what?at which time?我已经阅读了有关 hibernate anvers 的介绍性教程。对我来说,似乎更多的是数据历史而不是活动跟踪,除非我根本没有得到它。

有没有办法将自定义字段添加到该 *_aud 表以插入更多用户定义的表。像date_created, last_modified, created_by,updated_by有自己的databeforedataafter有点字段。所以基本上我想添加createdby,updatedby到 anvers 创建的表

有没有办法做到这一点。如果是,请指出我正确的资源。

谢谢阅读 。

4

1 回答 1

2

在 Envers 中,每个“生产”表都有一个对应的 *_AUD 表,用于存储实体的历史状态。还有一个全局 REVINFO ( org.hibernate.envers.DefaultRevisionEntity) 表,其中包含修订号、时间戳和自定义的用户定义列。可以在文档中找到显示如何扩展 DefaultRevisionEntity 的示例。目前无法自定义 *_AUD 表,但是 Envers 应该回答您提出的所有问题。

  1. 谁改变了什么?- 将用户凭据存储在 REVINFO 表中。
  2. 从什么到什么?- 这是一个很笼统的问题:)。尝试探索org.hibernate.envers.AuditReaderorg.hibernate.envers.query.AuditQueryCreator.
  3. 什么时候?- 时间戳存储在 REVINFO 表中。此时间戳反映用户提交更改的时间。
于 2012-06-05T17:43:51.297 回答