title: Multiple problems regarding MapStruct mapping
body: <p>I am new to using MapStruct and thus facing some issues with the same.</p>
  
  <p>I have the following Model classes :-</p>
  
  <pre><code>@Data
  class User {
  
  @Field
  private String fullName;
  
  @Field("experience")
  private List&lt;Experience&gt; workExperience;
  
  //other fields
  
  }
  
  @Data
  class Experience {
  
  private Date joiningDate;
  
  //other fields
  }
  
  </code></pre>
  
  <p>Now, I have the following DTO's</p>
  
  <pre><code>@Data
  class UserDTO {
  
   private String firstName;
  
   private String lastName;
  
   private List&lt;ExperienceDTO&gt; workExperience;
  
   //other fields
  
  }
  
  @Data
  class ExperienceDTO {
  
  private String joiningDate;
  
  //other fields
  }
  
  </code></pre>
  
  <p>Have written the UserMapper Interface as :-</p>
  
  <pre><code>@Mapper(componentModel = "spring")
  public interface UserMapper {
  
   @Mappings({
              @Mapping(target = "firstName",source = "fullName",
                      qualifiedByName = "firstNameExtractor"),
              @Mapping(target = "lastName",source = "fullName",
                      qualifiedByName = "lastNameExtractor")
      })
      UserDTO userToUserDTO(User user);
  
    @Mappings({
        @Mapping(target = "joiningDate", source = "joiningDate",
                dateFormat = "yyyy-MM-dd HH:mm:ss")
      })
      List&lt;ExperienceDTO&gt; experienceToExperienceDTO(List&lt;Experience&gt; experience);
  
  @Named("firstNameExtractor")
      public static String getFirstName(String name){
          String[] nameParts = name.split(" ");
          return nameParts[0];
      }
  //similarly have a lastNameExtractor
  </code></pre>
  
  <p>But I get the following errors :-</p>
  
  <ol>
  <li>No property named "fullName" exists in source parameter(s). Did you
  mean "null"?</li>
  <li>Unknown property "firstName" in result type
  com.personal.portfolio.dto.UserDTO. Did you mean "null"?</li>
  <li>No property named "joiningDate" exists in source parameter(s). Did
  you mean empty"?</li>
  <li>Unknown property "joiningDate" in result type
  java.util.List. Did you
  mean "empty"?</li>
  </ol>
  
  <p>I know my design might be wrong, but I am intentionally doing it this way to understand how MapStruct works. Kindly anyone could help me to understand what mistake I am doing?</p>