如何从 Javers 中的阴影元素中获取版本
Posted
技术标签:
【中文标题】如何从 Javers 中的阴影元素中获取版本【英文标题】:How to get Version from shadow element in Javers 【发布时间】:2020-09-16 21:59:58 【问题描述】:我正在尝试从 Javers 的阴影中获取版本。
目前正在通过这种方式。这是正确的实现吗,我认为这种方法会稍微影响性能。我在这里粘贴代码
List<Shadow<Season>> shadows= javers.findShadows(QueryBuilder.byInstance(optionalSeason.get()).build());
for (Shadow<Season> shadow : shadows)
List<CdoSnapshot> changes=javers.findSnapshots(QueryBuilder.byInstanceId(id,Season.class).withCommitId(shadow.getCommitId()).build());
changes.get(0).getVersion()
如果有更好的方法,请告诉我,谢谢
【问题讨论】:
【参考方案1】:好问题,看起来你不能轻易得到它,因为 Shadow
类中缺少此信息:
public class Shadow<T>
private final CommitMetadata commitMetadata;
private final T it;
由于每个Shadow
都是从一个CdoSnapshot
创建的,因此Shadow
类可以轻松扩展为:
public class Shadow<T>
private final CdoSnapshot snapshot;
private final T it;
如果需要,您可以将此更改贡献给 Javers。
【讨论】:
以上是关于如何从 Javers 中的阴影元素中获取版本的主要内容,如果未能解决你的问题,请参考以下文章
如何从android API 23和更高版本的操作栏中删除阴影