gpt4 book ai didi

java - Hibernate Envers 在持久化数据后立即得到修订

转载 作者:行者123 更新时间:2023-12-02 10:43:53 26 4
gpt4 key购买 nike

我正在使用 Spring JPA 将数据保存在我的应用程序中。我还使用 Hibernate Envers 为我输入核心表的每条记录创建历史记录。我想在写入事务后立即获取修订版本,并向用户显示为他/她刚刚所做的更改创建的修订版本。

换句话说:

第 1 步:实体 -- 持久化 --> 实体表 -- envers --> 审核表

第 2 步:将刚刚创建的审核版本返回给我

我采取的方法是先保留数据,然后在单独的调用中从审核表中检索最新修订信息。随着用户数量的增加,这最终会不一致。

MyEntity mySavedEntity = myEntityRepository.save(myEntity);         
AuditReader reader = AuditReaderFactory.get(entityManager);
List<Number> revisions = reader.getRevisions(MyEntity .class, mySavedEntity.getId());

// ... get the latest revision and pass it back to the user ...

如何解决这个问题? - 谢谢

最佳答案

您可以通过设置 org.hibernate.envers.do_not_audit_optimistic_locking_field to false 让 Envers 记录实体的版本列

然后在事务后使用该列和实体的版本属性值来检索修订版。

关于java - Hibernate Envers 在持久化数据后立即得到修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52728598/

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