BAEL-6216 Use Mapper in Another Mapper with Mapstruct and Java (#13802)

This commit is contained in:
mdabrowski-eu
2023-04-10 07:59:12 +02:00
committed by GitHub
parent 4272773056
commit 8b688e4e40
5 changed files with 109 additions and 0 deletions
@@ -0,0 +1,12 @@
package com.baeldung.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ArticleDTO {
private int id;
private String name;
private PersonDTO author;
}
@@ -0,0 +1,12 @@
package com.baeldung.entity;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Article {
private int id;
private String name;
private Person author;
}
@@ -0,0 +1,20 @@
package com.baeldung.mapper;
import com.baeldung.dto.ArticleDTO;
import com.baeldung.dto.PersonDTO;
import com.baeldung.entity.Article;
import com.baeldung.entity.Person;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface ArticleMapper {
ArticleMapper INSTANCE = Mappers.getMapper(ArticleMapper.class);
ArticleDTO articleToArticleDto(Article article);
default PersonDTO personToPersonDto(Person person) {
return Mappers.getMapper(PersonMapper.class).personToPersonDTO(person);
}
}
@@ -0,0 +1,16 @@
package com.baeldung.mapper;
import com.baeldung.dto.ArticleDTO;
import com.baeldung.dto.PersonDTO;
import com.baeldung.entity.Article;
import com.baeldung.entity.Person;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper(uses = PersonMapper.class)
public interface ArticleUsingPersonMapper {
ArticleUsingPersonMapper INSTANCE = Mappers.getMapper(ArticleUsingPersonMapper.class);
ArticleDTO articleToArticleDto(Article article);
}