如何从Javers的影子元素中获取版本信息

huangapple 未分类评论50阅读模式
英文:

How to get Version from shadow element in Javers

问题

我正试图从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();
}
如果有更好的方法请告诉我谢谢
英文:

I am trying to get version from shadows in the Javers.

Currently getting through this way. is this the correct implementation, I think this method can hamper performance a little bit. I am pasting the code here

    List&lt;Shadow&lt;Season&gt;&gt; shadows= javers.findShadows(QueryBuilder.byInstance(optionalSeason.get()).build());
    
    for (Shadow&lt;Season&gt; shadow : shadows) {
     List&lt;CdoSnapshot&gt; changes=javers.findSnapshots(QueryBuilder.byInstanceId(id,Season.class).withCommitId(shadow.getCommitId()).build());

     changes.get(0).getVersion()
                  }

If there is any better way, please let me know, Thanks

答案1

得分: 0

好问题,看起来你很难得到它,因为这个信息在Shadow类中缺失:

public class Shadow&lt;T&gt; {
    private final CommitMetadata commitMetadata;
    private final T it;

由于每个Shadow是从一个CdoSnapshot创建的,Shadow类可以很容易地扩展为:

public class Shadow&lt;T&gt; {
    private final CdoSnapshot snapshot;
    private final T it;

如果你愿意,你可以向Javers贡献这个变更。

英文:

Good question, looks like you can't get it easily because this information is missing in Shadow class:

public class Shadow&lt;T&gt; {
    private final CommitMetadata commitMetadata;
    private final T it;

Since each Shadow is created from one CdoSnapshot, Shadow class can be easily extended to:

public class Shadow&lt;T&gt; {
    private final CdoSnapshot snapshot;
    private final T it;

You can contribute this change to Javers if you want.

huangapple
  • 本文由 发表于 2020年5月29日 18:46:45
  • 转载请务必保留本文链接:https://java.coder-hub.com/62084155.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定