【发布时间】:2015-07-05 04:28:00
【问题描述】:
无论出于何种原因,Dozer 不允许我映射具有不同名称的字段,它只是基于源对象映射字段。
在我的dozerBeanMapping.xml 文件中,我有:
<mapping type="one-way">
<class-a>data.SourceObject</class-a>
<class-b>data.DestinationObject</class-b>
<field>
<a>someField</a>
<b>anotherField</b>
</field>
</mapping>
对于我拥有的对象:
package data;
public class SourceObject
{
private String someField = "test";
public void setSomeField(String someField) { this. someField = someField; }
public String getSomeField() { return someField; }
}
package data;
public class DestinationObject
{
private String anotherField;
public void setAnotherField(String anotherField) { this.anotherField = anotherField; }
public Date getAnotherField() { return anotherField; }
}
现在,如果我将 SourceObject 更改为包含一个名为 anotherField 的字段,那么一切都会按预期工作。换句话说,只有当DestinationObject 和SourceObject 中的字段名称相同时,映射才会起作用。我的理解是它们不需要匹配,这就是您在映射 xml 文件中定义字段的全部原因。
【问题讨论】: