gpt4 book ai didi

java - Dozer - 仅当目标对象和源对象具有相同的字段名称时才映射字段

转载 作者:行者123 更新时间:2023-12-01 11:21:03 26 4
gpt4 key购买 nike

无论出于何种原因,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 的字段,那么一切都会按预期工作。换句话说,仅当 DestinationObjectSourceObject 中的字段名称相同时,映射才会起作用。我的理解是它们不需要匹配,这就是您在映射 xml 文件中定义字段的全部原因。

最佳答案

Dozer 似乎不会加载您的配置文件并根据默认配置 (wildcard=true) 映射类。检查是否加载了dozerBeanMapping.xml。请参阅Debugging Initialization .

关于java - Dozer - 仅当目标对象和源对象具有相同的字段名称时才映射字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com