【问题标题】:Spring Data envers: How to get value REVTYPE from revision objectSpring Data envers:如何从修订对象中获取值 REVTYPE
【发布时间】:2017-12-05 06:59:51
【问题描述】:

我正在尝试使用 Spring Data Envers 来实现对实体的审计。我能够获取实体的全部或单个修订对象

Revisions<Integer, User> revisions = userRepository.findRevisions(id);

我想获取特定版本的 REVTYPE 值,但在 Revision 类中找不到任何方法。我可以在 user_aud 表中看到 REVTYPE 的值。

如何获得修订版的 REVTYPE?

谢谢。

【问题讨论】:

    标签: spring spring-boot hibernate-envers audit-logging spring-data-envers


    【解决方案1】:
    List<Object[]> list = auditReader.createQuery()
    //  Creates a query, which selects the revisions, at which the given entity was modified.
        .forRevisionsOfEntity(entityClass, entityClass.getName(), false, true)
    // false for Entities only, true for selectDeletedEntities
        .add(AuditEntity.revisionNumber().eq(revision)).getResultList();
    // Array will contain entity, entity information and revision type.
    

    【讨论】:

    • 感谢您的回复。我知道可以使用 hibernate auditReader 重新输入值。因为,我使用的是 Spring Data Envers,所以,我想从 Revision 对象中获取 Revision 类型,该对象由 RevisionRepository 的方法返回。
    • 我相信你不能直接从Revision对象查询。
    • 是的。你是对的。我确实浏览了 RevisionRepositoryImpl 的源代码,但是我找不到任何返回 REVTYPE 的方法。
    • 不客气。也许您可以为 Spring Team 贡献或建议(请求功能)。但总的来说,为什么不使用 auditReader?
    猜你喜欢
    • 2020-11-25
    • 2015-03-17
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2011-10-20
    • 2021-11-04
    相关资源
    最近更新 更多