簡體   English   中英

推土機映射器字段不存在

[英]Dozer mapper field don`t exists

我試圖在我的應用程序中使用Dozer,所以我有2個類:

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);

實體= mapper.map(myVo,MyEntity.class);

但是dozzer首先將myEntity中的所有prop設置為null,然后從myVo復制值,

可以保留道具(兩個對象都不存在)並僅復制存在的字段(或在我的.xml中映射的文件)

mapper.map(myVo, MyEntity.class);

對Dozer的此調用告訴它創建一個新的MyEntity實例,然后映射myVo中的值。 這就是為什么您的某些字段在結果實體中為空的原因。

如果要使用推土機更新現有實例,請使用該實例而不是類名來調用推土機,即

mapper.map(myVo, entity);

請注意,這不會將實體退還給您,因為它會在適當位置進行修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM