Entity 2

Setter 지양, 그리고 DTO를 써야하는 이유

Entity Level에서 @Setter를 사용하면 안되는 이유1. 개발자의 의도를 알기 어렵다.2. 메소드 단의 개발로 책임 분산을 덜할 수 있다.그럼 어떻게 해결할 수 있을까?1. @Builder 사용하기2. DTO단에서 Getter와 Setter 사용하기 개발을 진행하다 보면, Entity레벨에 @Setter를 사용하여 데이터를 쉽게 바꾸거나, 지정해주고 싶을 때가 있었다. 하지만 대부분의 강의나 피드백에서 Setter 사용은 적극적으로 지양하고 있다. 처음에는 왜 어노테이션만 붙이면 되는건데 이 쉬운걸 포기해야할까 ? 라는 의문이 들었다. 하지만 여러번의 조사 끝에 왜 Setter을 사용하지 않고, 대신 DTO를 사용해야하는지 깨달을 수 있었다. 오늘은 그 이유에 대해서 작성해보도록 하겠다. 🌱 ..

Entity와 DTO의 연관관계

Entity와 DTO이번 프로젝트에서는 DB와의 연동이 없었기에 데이터를 DTO를 통해 관리했다. 프로젝트를 하기 전에는 “왜 Entity가 아닌 DTO를 사용하여 데이터를 관리할까?”라는 의문이 있었다. 이를 해결하기 위해 둘의 개념 정리부터 시작했다.EntityDB Column들을 필드로 가지는 객체DB와 1-1 대응└ 테이블에 가지지 않는 칼럼을 필드로 가져서는 안됨 @Entity 어노테이션으로 해당 클래스가 Entity클래스임을 명시 id 칼럼 : @Id 다른 칼럼 : @ColumnDTO (Data Transfer Object)데이터를 이동하기 위한 객체Client가 Controller에 요청을 보냄 : RequestDtoController가 Client에게 응답을 보냄 : ResponseDto로..