首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JaVers获取对象版本

使用JaVers获取对象版本
EN

Stack Overflow用户
提问于 2019-08-05 22:39:32
回答 2查看 192关注 0票数 0

我使用的是带有Spring Boot2.1的JaVers 5.6.3。保存历史记录运行良好,而且我还可以读取对象更改。

我使用以下代码:

代码语言:javascript
复制
List<Change> changes = javers.findChanges(jqlQuery.build());

我的问题是结果只包含提交id,而不包含对象版本。在数据库中有一个jv_snapshot.version字段,它包含真实的对象版本。

我怎样才能在我的代码中得到它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-13 12:18:38

您可以使用快照获取版本,例如:

代码语言:javascript
复制
List<CdoSnapshot> snapshots =  javers.findSnapshots(jqlQuery.build());
snapshots.forEach(snapshot -> {
    System.out.println(snapshot.getVersion());
});
票数 1
EN

Stack Overflow用户

发布于 2020-05-29 00:00:46

我不知道这是否有帮助,但你可以用它的版本获取整个实体

首先获取卷影,然后尝试从提交的数据库中获取快照。正如代码中给出的

代码语言:javascript
复制
 List<Shadow<YourObject>> shadows=        javers.findShadows(QueryBuilder.byInstance(optionalObject.get()).build());

 List<CdoSnapshot> changes=javers.findSnapshots(QueryBuilder.byInstanceId(id,YourObject.class).withCommitId(shadow.get(0).getCommitId()).build());

通过这种方式,你可以得到每个实体的版本,如果你找到了更好的方法,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57360854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档