代码之家  ›  专栏  ›  技术社区  ›  randy

javers新手,如何迭代并从diff中获取所有属性名

  •  0
  • randy  · 技术社区  · 7 年前

    我有两个属性相同的对象

    这很有效

     Diff diff = javers.compare(memberFromDB, member);
     for (Change c : diff.getChanges()) {
            logger.info("change=" + c );
     }
    

    和显示器

    虽然我假设它很简单,但我如何访问更改的属性?

    或者我应该以不同的方式迭代差异?

    我的最终目标是得到一个不同属性的列表。

    谢谢

    2 回复  |  直到 7 年前
        1
  •  0
  •   Bartek Walacik    7 年前
        diff.getChangesByType(PropertyChange.class).forEach(p ->
                logger.info("property change: "+ p.getPropertyName()  )
        );
    
        2
  •  0
  •   randy    7 年前

    不确定这是不是最好的方法,但它确实有效

    Diff diff = javers.compare(memberFromDB, member);
    ArrayList<ValueChange> diffs = (ArrayList)diff.getChangesByType(ValueChange.class);
    
    for (ValueChange v : diffs ) {
         logger.info("change=" + v.getPropertyName() );
    }