[Spring/JPA] DTO와 Entity를 분리해서 사용하는 이유

차곡차곡·2024년 7월 2일
0

엔티티 구조 변경 시 발생 문제

  • 예를 들어 요구 사항이 변경되어 엔티티의 필드 이름이 변경될 경우, API 스펙이 변경되어 추가 작업이 요구됨.

필요한 데이터만 전송하기 어려움

  • 엔티티를 직접 반환하면 엔티티에 존재하는 모든 데이터가 반환됨.
    즉, 사용자가 필요로 하는 데이터만 전송하기 어려움.(모든 데이터 반환 시 트래픽 증가, 성능 및 비용 면에서 현저한 차이)

순환 참조 문제

  • 엔티티 간에 양방향 관계가 존재할 경우, 엔티티를 반환하는 순간 순환 참조로 인해 무한 JSON 직렬화 이슈가 발생할 수 있음.

보안 문제

  • entity를 반환하면 테이블을 공개하는 것이나 다름 없으므로 민감한 정보가 노출될 수 있음.
profile
계단식 성장

0개의 댓글