我通过Dozer mapper映射两个DTO对象。我有兴趣从列表中选择一个值并将其映射到目标文件中的单个字段。
是否可以使用这样的映射:
<field>
<a>someList[0]</a>
<b>someVariable</b>
</field>
似乎b
部分可以采用list[1].value
类型的方法,但当括号位于a
侧时,我无法使其工作。我在哪里弄错了?
答案 0 :(得分:3)
实际上,您不需要超过建议的
<field>
<a>someList[0]</a>
<b>someVariable</b>
</field>
实现这一目标的结构。我遇到了其他问题:我没有在我的代码上为该映射调用正确的map()
函数。我有几个映射,并且map()
调用了这个特定的映射。
答案 1 :(得分:1)
使用以下映射:
<mapping map-id="collectionMapping" type="one-way">
<class-a>java.util.Collection</class-a>
<class-b>java.util.Collection</class-b>
<field>
<a>this</a>
<b set-method="add(java.lang.Object)" type="iterate">anything</b>
<b-hint>your destination object type</b-hint>
</field>
</mapping>