Search code examples
javers

Javers compare entity to DTO


i'm new to Javers, and i`m currently using it to create a patch update for my entity. But i'm having some struggle with one specific scenario

I want to compare a Entity against a EntityDTO/VO and get only the changes in values, the current comparison only returns that is a NewObject and ObjectRemoved changes.

Example:

public class Entity{
  private ObjectId id;
  private String name;
  private String description;
}

public class EntityDTO{
  private String name;
}

//
Entity oldState = new Entity(new ObjectId(), "oldName" , "oldDescription);
EntityDTO newState = new EntityDTO( "newName" );
JaversBuilder.javers().build().compare(oldState, newState).getChanges();
//This is returning only NewObject/ObjectRemoved changes, and the intended is to be ValueChange/ReferenceChange

The questions is, is there a way to compare only the similar attributes between the objects?


Solution

  • No, in JaVers, you can compare only objects of the same type.