Spring boot 推土机映射器字段不存在

Spring boot 推土机映射器字段不存在,spring-boot,dozer,Spring Boot,Dozer,我正在尝试在我的应用程序中使用Dozer,因此我有两个类: public MyEntity{ private String name; private Stirng age; private String user; private Integer day; } public class MyVO{ private String name; private String age; } 所以,首先我从数据库中读取实体(所有字段都已填充),然后调用推土机将值从VO复制到实

我正在尝试在我的应用程序中使用Dozer,因此我有两个类:

public MyEntity{
  private String name;
  private Stirng age;
  private String user;
  private Integer day;
}

public class MyVO{
  private String name;
  private String age;
}
所以,首先我从数据库中读取实体(所有字段都已填充),然后调用推土机将值从VO复制到实体

MyEntity实体=myRepo.findById(1)

entity=mapper.map(myVo,MyEntity.class)

但dozzer首先将myEntity中的所有道具设置为null,然后从myVo复制值

可以保留这些道具(它们在两个对象中都不存在)并只复制存在(或映射到my.xml)文件中的字段

对Dozer的调用告诉它创建一个新的MyEntity实例,然后映射来自myVo的值。这就是结果实体中某些字段为空的原因

如果要使用Dozer更新现有实例,请使用实例而不是类名调用Dozer,即

mapper.map(myVo, entity);
注意,这不会将实体返回给您,因为它会就地修改实体

mapper.map(myVo, entity);