[英]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.