백엔드/실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

실전! 스프링 부트와 JPA 활용1 - 웹 계층 개발

넌 감동란이었어 2023. 1. 8. 00:00

폼 객체 사용 vs 엔티티 객체 사용

만약 요구사항이 단순하다면 엔티티를 그대로 사용해도 된다. 하지만 실무에서는 요구사항이 단순한 경우가 없다.

요구사항이 복잡해진다면 화면을 처리하기 위한 기능이 증가하게 된다. 결국 엔티티는 유지보수성이 어려워질 것이다.

그래서 API에 맞는 DTO, 폼 객체를 사용하고 엔티티는 최대한 순수하게 유지해야한다.

 

엔티티를 변경할 때는 항상 원하는 데이터만 변경할 수 있도록 변경 감지 기능을 사용해야한다.

 

  • 컨트롤러에서 엔티티를 생성하지 말자.
  • 트랜잭션이 있는 서비스 계층에서 식별자 ID와 변결할 데이터를(파라미터 or DTO) 명확하게 전달한다.
  • 트랜잭션이 있는 서비스 계층에서 영속 상태의 엔티티를 조회하고 직접 그곳에서 데이터를 변경한다.