Skip to content
Discussion options

You must be logged in to vote

1) MapStruct 매핑

MapStruct는 기본적으로 타입과 변수명이 같은 경우 자동으로 매핑을 지원해주지만, 타입이 같지만 변수명이 다른 경우 아래와 같이 매핑할 수 있습니다

@Mapping(target = "boardName", source = "boardEntityName")
Board toBoard(BoardEntity boardEntity);
  • source: 원본 객체 필드 (BoardEntity)
  • target: 매핑될 객체 필드 (Board)

2) Enum 간의 매핑

위와 같이 @Mapping 어노테이션은 일반적인 객체 필드 간의 매핑은 가능하지만, Enum 간의 매핑에는 적용되지 않아 @ValueMapping 어노테이션을 사용할 수 있습니다.

cf. 이전에 bfdc4e5 서 언급주신@Named + qualifiedByName과, MapStruct 1.2(?) 버전부터 사용이 가능한 @EnumMapping을 이용한 매핑도 가능합니다.

@ValueMappings({
    @ValueMapping(source = "ENABLED", target = "ACTIVE"),
    @ValueMapping(source = "DISABLED", target = "INACTIVE"),
    @ValueMapping(source = "REMOVED", target = "DELETED")
})
BoardStatus toB…

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
1 reply
@silberbullet
Comment options

Answer selected by merge-simpson
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants