BAEL-6216 Use Mapper in Another Mapper with Mapstruct and Java (#13802)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user