title: org.dozer.MappingProcessor - Field mapping error ByteArray
body: <p>I have following entity, DTO class and dozer mapping file. I'm trying to copy the hibernate entity which contains a 2 dim byte array to the new DTO using dozer mapping. Getting the java.lang.IllegalArgumentException: array element type mismatch. </p>
  
  <p>Any idea?</p>
  
  <p>mapping file:</p>
  
  <pre><code>&lt;mapping map-id="i" wildcard="false"&gt;
          &lt;class-a&gt;com.csinfra.jdbmon.web.client.dto.Config.HostGroups.HostGroup.CheckGroup.Check.Type.MultiResult&lt;/class-a&gt;
          &lt;class-b&gt;com.csinfra.jdbmon.web.client.dto.MultiResultDTO&lt;/class-b&gt;
          &lt;field&gt;
              &lt;a&gt;id&lt;/a&gt;
              &lt;b&gt;id&lt;/b&gt;
          &lt;/field&gt;
          &lt;field&gt;
              &lt;a&gt;columns&lt;/a&gt;
              &lt;b&gt;columns&lt;/b&gt;
          &lt;/field&gt;                        
      &lt;/mapping&gt;
  </code></pre>
  
  <p>Entity class:</p>
  
  <pre><code>    @Entity(name="multiResult")
  @Table(name="multiResult")
  public static class MultiResult implements Serializable {
  
      @Id
      @GeneratedValue(strategy=GenerationType.AUTO)
      @javax.persistence.Column(name = "id", unique = true, nullable = false)
      private Long id;
  
      @Lob
      @javax.persistence.Column(name = "columns",length = 10000)
      private byte[][] columns;
  
      public Long getId() {
          return id;
      }
  
      public void setId(Long id) {
          this.id = id;
      }
  
      public byte[][] getColumns() {
          return columns;
      }
  
      public void setColumns(byte[][] columns) {
          this.columns = columns;
      }
  }    
  </code></pre>
  
  <p>DTO class:</p>
  
  <pre><code>public class MultiResultDTO implements IsSerializable {
  
      private Long id;
      private byte[][] columns;
  
      public MultiResultDTO(){}
  
      public byte[][] getColumns() {
          return columns;
      }
  
      public void setColumns(byte[][] columns) {
          this.columns = columns;
      }
  
      public Long getId() {
          return id;
      }
  
      public void setId(Long id) {
          this.id = id;
      }   
  }
  </code></pre>
  
  <p>Exception: </p>
  
  <pre><code>19165 ERROR org.dozer.MappingProcessor - Field mapping error --&gt;
    MapId: null
    Type: null
    Source parent class: com.csinfra.jdbmon.web.client.dto.Config$HostGroups$HostGroup$CheckGroup$Check$Type$MultiResult
    Source field name: columns
    Source field type: class [[B
    Source field value: [[B@127a7396
    Dest parent class: com.csinfra.jdbmon.web.client.dto.MultiResultDTO
    Dest field name: columns
    Dest field type: [[B
  java.lang.IllegalArgumentException: array element type mismatch
      at java.lang.reflect.Array.set(Native Method)
      at org.dozer.MappingProcessor.addToPrimitiveArray(MappingProcessor.java:712)
      at org.dozer.MappingProcessor.mapArrayToArray(MappingProcessor.java:629)
      . . .
      at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
      at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
      at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
      at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:745)
  </code></pre>