gpt4 book ai didi

java - 已弃用的 AuditReader#getCurrentRevision 方法的替代方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:34 24 4
gpt4 key购买 nike

我正在将 java 应用程序从 Spring Boot 1.5 迁移到 Spring Boot 2.2.3,这涉及将 Hibernate/Envers 升级到 5.4.10.Final。

现有代码调用 AuditReader#getCurrentRevision(Class revisionEntityClass, boolean persist) ,该方法已被弃用,并且 JavaDocs 状态为使用 RevisionListener,但这与我们需要获取现有事务提交时创建的修订版的作用不同。 getCurrentRevision 方法为我们提供了该功能,但直到我们的代码需要修订号之后才会调用 RevisionListener,并且传递给 RevisionListener#newRevision 方法的 revisionEntity 尚未设置其 id。 RevisionListener 似乎更多地针对在修订实体上设置附加信息,而不是从中获取信息。

如何获取将作为当前事务的一部分创建的修订版本?

谢谢

最佳答案

为了添加一些上下文......我们需要将当前修订存储在代表事件的实体上,以便可以在一天结束时重播该事件并访问事件发生时的帐户状态。

在我们之前的应用程序版本(Spring Boot 1.5)中,我们没有审核事件实体,因为我们没有必要这样做。

为了解决已弃用并标记为删除的功能,我们只需开始审核事件实体。这样,我们就能够在处理事件时而不是在插入事件时访问事件实体插入的修订,这为我们提供了引发事件时帐户状态的修订。

这不是对我原来问题的答案,而是对功能需求的干净解决方案。

关于java - 已弃用的 AuditReader#getCurrentRevision 方法的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59828324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com