2012-09-13 18 views

回答

1

你可以写一个简单的转换,像这样(使用新的API转换器,你可以使用旧的也):

public class Converter extends DozerConverter<List<B>, List<B>> { 
    public Converter() { 
    super(List.class, List.class); 
    } 

    public List<B> convertTo(List<B> source, List<B> destination) { 
    List<B> result = new ArrayList<B>(); 
    for (B item : source) { 
     if (item != null) { 
      result.add(item); //or item copy, or whatever you want 
     } 
    } 
    return result; 
    } 
} 

,然后将其连接到你的映射是这样的:

<mapping> 
    <class-a>yourpackage.A</class-a> 
    <class-b>yourpackage.A</class-b>  
    <field custom-converter="yourpackage.Converter"> 
     <a>listB</a> 
     <b>listB</b> 
    </field> 
</mapping> 
相关问题