내 프로젝트에는 Member, Product, Cart domain이 존재한다 Cart는 Member를 N : 1 & Product를 1 : 1로 가지고 있는 Entity이다 이 상황에서 Cart를 응답하기 위한 CartResponse로 변환하고 GenericMapper를 그대로 쓰면 어떻게 될까? 당연히 Cart의 속성 member와 product가 그대로 나간다 변화 가능성이 큰 Entity로 응답하지 않기 위해 DTO 형태로 만들어 반환하는 것인데 현재의 DTO는 이를 위반한다 기존의 GenericMapper를 이용하며 member와 product도 dto 형태로 만들어 반환해줘야한다 약간의 커스텀 작업이 필요하다 우선 CartResponse에 Entity가 아닌 DTO 형태를 명시해준다 Gener..
Springboot 프로젝트를 진행할 때 지루한 entity -> dto 변환 작업을 쉽게 도와줄 수 있는 mapping library들이 있다 대표적으로 model mapper, mapstruct, okari가 존재하는데 나는 성능 상의 이유로 mapstruct를 사용했다 mapping library의 성능 비교 글은 구글링을 하면 쉽게 찾을 수 있다 mapstruct는 롬복처럼 컴파일 시점에 annotation-processor에 의해 변환되기 때문에 성능이 가장 우수하다 다른 mapping library들은 런타임 시점에 리플렉션을 통해 매핑하기 때문에 성능에 부하가 올 수 있다 사용법은 okari는 성능이 가장 안 좋다고 하여 사용해본 적이 없어서 패스하고, mapstruct보다 model map..