DTO에서 toEntity를 쓰는 이유

Alex·2024년 9월 3일

Binder프로젝트

목록 보기
1/18

DTO에서 Entity로 변환할 때 두가지 방법을 쓸 수 있다.


    public Bin toEntity(){
        return Bin.builder()
                .title(this.title)
                .address(this.address)
                .type(this.type)
                .build();
    }


---------------------------

	public static Bin createBin(BinSave bin){
   	return new Bin(
    				bin.getTitle(),
                    bin.getAddress(),
                    bin.getType()
                    );
                
   }
   

첫번째는 DTO에서 DTO의 엔티티 변환을, 두번째는 엔티티에서 책임진다.
나는 이걸 DTO와 엔티티의 결합 관점에서 바라보면 좋을 거 같다.

2번의 경우, 만약에 DTO를 변경한다면 엔티티 내부가 변경돼야 한다.
DTO는 자주 변경될 수 있는 것으로 안다. title이라는 변수의 이름을 바꾸게 된다면??
그럼 필연적으로 엔티티 내부가 바뀐다.

1번의 경우, DTO가 바뀌더라도 엔티티에 변화가 전파되지 않는다. title이름이 바뀌더라도
그대로 엔티티로 값이 들어가도 문제가 없다.

엔티티는 변화 전파가 가장 적어야 한다고 생각하므로 나는 1번 방식을 주로 사용한다.

profile
답을 찾기 위해서 노력하는 사람

0개의 댓글