【问题标题】:How to get Version from shadow element in Javers如何从 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()
                  }

如果有更好的方法,请告诉我,谢谢

【问题讨论】:

    标签: java audit javers


    【解决方案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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2012-09-08
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      相关资源
      最近更新 更多