有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在使用hibernate anvers时创建自定义字段

我正在使用Spring3.1和Hibernate4启动一个新项目,需要跟踪应用程序上的任何活动。活动跟踪示例who changed what?{}和at which time?我读了一篇关于hibernate anvers的入门教程。在我看来,这似乎更多的是数据历史,而不是活动跟踪,除非我根本没有得到它

有没有办法向*_aud表中添加自定义字段以插入更多用户定义的表。比如date_createdlast_modifiedcreated_byupdated_by有自己的databeforedataafter类字段。所以基本上我想把createdbyupdatedby添加到一个创建的表中

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

谢谢你的阅读


共 (1) 个答案

  1. # 1 楼答案

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

    1. 谁改变了什么?-在REVINFO表中存储用户凭据
    2. 从什么到什么?-这是一个相当普遍的问题:)。尝试探索org.hibernate.envers.AuditReaderorg.hibernate.envers.query.AuditQueryCreator
    3. 什么时候?-时间戳存储在REVINFO表中。此时间戳反映了用户提交更改的时间