-
[Spring] 실무에서 가급적 Entity 클래스에 Setter 사용을 자제해야 하는 이유Spring 2021. 11. 9. 19:02
이론적으로 Getter, Setter 모두 제공하지 않고, 꼭 필요한 별도의 메서드를 제공하는게 가장 이상적이다. 하지만 실무에서 엔티티의 데이터는 조회할 일이 너무 많으므로, Getter의 경우 모두 열어두는 것이 편리하다. Getter는 아무리 호출해도 호출 하는 것 만으로 어떤 일이 발생하지는 않는다. 하지만 Setter는 문제가 다르다. Setter를 호출하면 데이터가 변한다. Setter를 막 열어두면 가까운 미래에 엔티티가 도대체 왜 변경되는지 추적하기 점점 힘들어진다. 그래서 엔티티를 변경할 때는 Setter 대신에 변경 지점이 명확하도록 변경을 위한 비즈니스 메서드를 별도로 제공해야 한다.
출처 : 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 학습 페이지 (inflearn.com)
'Spring' 카테고리의 다른 글
[Spring] @ManyToMany를 사용 안 하는게 좋은 이유 (0) 2021.11.09 [Spring] 값 타입 Entity 클래스를 불변하게 설계하는 방법 (0) 2021.11.09 [Spring] Entity 설계 시 연관관계의 주인을 설정하는 법 (0) 2021.11.09 [Spring] spring boot entity에 enum 사용시 주의사항 (0) 2021.11.09 [Spring] 쿼리문 콘솔창에서 쉽게 확인하는 법 (0) 2021.11.08