본문 바로가기
Stack/Spring

Entity table 에 @setter 쓰지않기 + 대처방안

by 김코딩개발자 2022. 7. 12.

이전 까지 게시글 수정 @PATCH  로직을 수행하기위해 이런식으로 set으로 변경값을 넣어주기 위해서

위 사진처럼 Entity 에 @Setter 를 넣어  수정 로직을 만들었었다

하지만 엔티티에 @setter 를 금지하는 원칙이있는것을 알게되었다

몇가지의 이유가있는데 
첫번쨰, 객체의 일관성을 유지하기 힘들다
두번쨰, setter는 그 코드로 그 의도를 알기 힘들다

 

그래서 위사진 처럼 change엔티티 라는 메서드를 생성해주어서 

위 사진처럼  수정할 엔티티 객체를 불러낸다음 change 매서드를 사용하여 다시 저장 해주면
@Setter 를 엔티티에 쓰지않고도 값을 수정할수있다!