728x90
반응형
@Setter 어노테이션 사용을 지양해야 하는 이유
① @Setter는 사용 의도 / 목적이 분명하지 않다. (Update 인지 / Create 인지)
Entity를 만들 때는 외부에서 쉽게 변경할 수 없게 @Setter를 사용하지 않는다. 그 이유는 @Setter를 사용하면 의도가 불명확하고 변경하면 안되는 중요한 값임에도 불구하고 변경 가능한 값으로 착각할 수 있다. 이말은 안정성 보장이 되지 않는다는 의미이다.
② 무분별한 변경으로 객체의 일관성을 보장하기 어렵다 -> @Builder 패턴 적용 권장
@Builder 패턴 사용 시 장점
- 가독성을 높일 수 있다.
Board board =
Board
.builder()
.title("안녕하세요 과거일지입니다.")
.writer("안정균")
.role("관리자")
.build();
- 필요한 데이터만 build 할 수 있다.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private boardSeq
private String title;
private String writer;
private String role;
@Builder
public Board(String title, String writer, String role) {
this.title = title;
this.writer = writer;
this.role = role;
}
반응형
'SpringBoot' 카테고리의 다른 글
QueryDSL 이란? (0) | 2024.07.17 |
---|---|
Spring WebSocket (0) | 2024.07.16 |
SpringSecurity Bcrypt 를 이용한 비밀번호 암호화 (0) | 2024.06.26 |
@Controller와 @RestController 차이점 (0) | 2024.06.25 |
RedirectAttributes (0) | 2024.05.02 |