Dozer:获取映射到目标中单个值的集合的第一个值

时间:2012-07-19 12:41:38

标签: java dozer

我通过Dozer mapper映射两个DTO对象。我有兴趣从列表中选择一个值并将其映射到目标文件中的单个字段。

是否可以使用这样的映射:

<field>
   <a>someList[0]</a>
   <b>someVariable</b>
</field>

似乎b部分可以采用list[1].value类型的方法,但当括号位于a侧时,我无法使其工作。我在哪里弄错了?

2 个答案:

答案 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>