title: Can't map property, Consider to declare/implement a mapping method
body: <p>When I try to compile my application it shows me this error, the whole application was generated with Jhipster.</p>
  <p>Detail Description Error: [ERROR] /C:/Users/user/Desktop/Devs/CURTIPIELES/curti-back/src/main/java/com/curtipieles/app/service/mapper/LeatherMapper.java:[21,16] Can't map property &quot;com.curtipieles.app.domain.Usage leather.usage.usage&quot; to &quot;java.lang.String usageName&quot;. Consider to declare/implement a mapping method: &quot;java.lang.String map(com.curtipieles.app.domain.Usage value)&quot;.</p>
  <p>Error<br />
  <a href="https://i.stack.imgur.com/LZrJn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LZrJn.png" alt="image" /></a></p>
  <p>This is my LeatherMapper:</p>
  <pre class="lang-java prettyprint-override"><code>@Mapper(componentModel = &quot;spring&quot;, uses = {LeatherFamilyMapper.class, LeatherHasColorMapper.class, LeatherHasUsageMapper.class})
  public interface LeatherMapper extends EntityMapper&lt;LeatherDTO, Leather&gt; {
  
      @Mapping(source = &quot;family.id&quot;, target = &quot;familyId&quot;)
      @Mapping(source = &quot;family.name&quot;, target = &quot;familyName&quot;)
      @Mapping(source = &quot;color.id&quot;, target = &quot;colorId&quot;)
      @Mapping(source = &quot;color.id&quot;, target = &quot;colorName&quot;)
      @Mapping(source = &quot;usage.id&quot;, target = &quot;usageId&quot;)
      @Mapping(source = &quot;usage.usage&quot;, target = &quot;usageName&quot;)
      LeatherDTO toDto(Leather leather);
  
      @Mapping(source = &quot;familyId&quot;, target = &quot;family&quot;)
      @Mapping(source = &quot;colorId&quot;, target = &quot;color&quot;)
      @Mapping(source = &quot;usageId&quot;, target = &quot;usage&quot;)
      Leather toEntity(LeatherDTO leatherDTO);
  
      default Leather fromId(Long id) {
          if (id == null) {
              return null;
          }
          Leather leather = new Leather();
          leather.setId(id);
          return leather;
      }
  }
  </code></pre>
  <p>This is my LeatherDTO (I do not put the Getters And Setters so as not to lengthen the question so much)</p>
  <pre class="lang-java prettyprint-override"><code>public class LeatherDTO implements Serializable {
      private Long id;
  
      private String imageUrl;
  
      private String name;
  
      private String description;
  
      private Boolean status;
  
      private Instant creationDate;
  
      private Boolean isNew;
  
  
      private Long familyId;
  
      private String familyName;
  
      private Long colorId;
  
      private String colorName;
  
      private Long usageId;
  
      private String usageName;
  </code></pre>
  <p>This is my Leather Class:</p>
  <pre class="lang-java prettyprint-override"><code>@Entity
  @Table(name = &quot;leather&quot;)
  @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  public class Leather implements Serializable {
      private static final long serialVersionUID = 1L;
  
     @Id
     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = 
      &quot;sequenceGenerator&quot;)
      @SequenceGenerator(name = &quot;sequenceGenerator&quot;)
      private Long id;
  
      @Column(name = &quot;image_url&quot;)
      private String imageUrl;
  
      @Column(name = &quot;name&quot;)
      private String name;
  
      @Column(name = &quot;description&quot;)
      private String description;
  
      @Column(name = &quot;status&quot;)
      private Boolean status;
  
      @Column(name = &quot;creation_date&quot;)
      private Instant creationDate;
  
      @Column(name = &quot;is_new&quot;)
      private Boolean isNew;
  
      @ManyToOne
      @JsonIgnoreProperties(value = &quot;leathers&quot;, allowSetters = true)
      private LeatherFamily family;
  
      @ManyToOne
      @JsonIgnoreProperties(value = &quot;leathers&quot;, allowSetters = true)
      private LeatherHasColor color;
  
      @ManyToOne
      @JsonIgnoreProperties(value = &quot;leathers&quot;, allowSetters = true)
      private LeatherHasUsage usage;
  </code></pre>
  <p>This is my LeatherHasUsage Class:</p>
  <pre class="lang-java prettyprint-override"><code>@Entity
  @Table(name = &quot;leather_has_usage&quot;)
  @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  public class LeatherHasUsage implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      @Id
      @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = 
      &quot;sequenceGenerator&quot;)
      @SequenceGenerator(name = &quot;sequenceGenerator&quot;)
      private Long id;
  
      @Column(name = &quot;status&quot;)
      private Boolean status;
  
      @ManyToOne
      @JsonIgnoreProperties(value = &quot;leatherHasUsages&quot;, allowSetters = true)
      private Usage usage;
  
      // jhipster-needle-entity-add-field - JHipster will add fields here
      public Long getId() {
          return id;
      }
  
      public void setId(Long id) {
          this.id = id;
      }
  
      public Boolean isStatus() {
          return status;
      }
  
      public LeatherHasUsage status(Boolean status) {
          this.status = status;
          return this;
      }
  </code></pre>
  <p>This is my LeatherHasColor class:</p>
  <pre class="lang-java prettyprint-override"><code>@Entity
  @Table(name = &quot;leather_has_color&quot;)
  @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  public class LeatherHasColor implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      @Id
      @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = &quot;sequenceGenerator&quot;)
      @SequenceGenerator(name = &quot;sequenceGenerator&quot;)
      private Long id;
  
      @Column(name = &quot;status&quot;)
      private Boolean status;
  
      @ManyToOne
      @JsonIgnoreProperties(value = &quot;leatherHasColors&quot;, allowSetters = true)
      private Color color;
  </code></pre>
  <p>This is my LeatherFamily class</p>
  <pre class="lang-java prettyprint-override"><code>@Entity
  @Table(name = &quot;leather_family&quot;)
  @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  public class LeatherFamily implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      @Id
      @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = 
      &quot;sequenceGenerator&quot;)
      @SequenceGenerator(name = &quot;sequenceGenerator&quot;)
      private Long id;
  
      @Column(name = &quot;image_url&quot;)
      private String imageUrl;
  
      @Column(name = &quot;name&quot;)
      private String name;
  
      @Column(name = &quot;description&quot;)
      private String description;
  
      @Column(name = &quot;status&quot;)
      private Boolean status;
  
      @Column(name = &quot;is_new&quot;)
      private Boolean isNew;
  
      @Column(name = &quot;creation_date&quot;)
      private Instant creationDate;
  </code></pre>