我有两个值对象(ValueObjectA和ValueObjectB),每个都有name1和name2
然后我有两个列表,每个列表都包含一个值对象,我计划用推土机映射。
一旦我访问映射的'listOfB',我就会得到一个Class Cast Exception,因为dozer将ValueObjectA类型的对象映射到ValueObjectsB的列表中。
是否可以映射这两个列表而不迭代列表并按对象映射对象?
示例代码:
...
// prepare object A
List<ValueObjectA> lostOfA = new LinkedList();
ValueObjectA voA = new ValueObjectA();
voA.setName1("foo");
voA.setName2("bar");
lostOfA.add(voA);
// map object A to object B
List<ValueObjectB> listOfB = new LinkedList();
mapper.map(lostOfA, listOfB);
for (ValueObjectB voB:listOfB ){
...
答案 0 :(得分:1)
答案 1 :(得分:0)
尝试为两个类定义映射。 Dozer将在运行时自动使用此映射并相应地转换对象。
例如(psudo代码):
<mapping>
<classA>ValueObjectA</classA>
<classB>ValueObjectB</classB>
<mapping>
我猜这两个类中的字段名称是相同的。如果不是,您需要在上面的映射中指定它们。