Jpa를 이용하면서 디폴트 값을 어떻게 주지?라는 생각을 한 적 이 있다.
열심히 구글링 해본 결과를 적어보고자 한다.
1. 특정 조건이 없는 Default
public class Chat{
...
@Column(columnDefinition = "VARCHAR(255) default '익명'")
private String name;
}
@Column 어노테이션을 이용한 방법으로 아래와 같은 공식으로 작성하면 된다.
@Column(columnDefinition = "자료형 default 원하는 값")
하지만 이와 같은 방법은 생성자에 해당 값을 빈칸으로 놔두게 되면 null로 들어가게 된다.
2. null 인 경우에만 Default
@PrePersist
public void prePersist(){
this.name = this.name == null ? "익명" : this.name;
}
위와 같이 해주면 생성자에 해당 값을 빈칸으로 놔두었을 때 이름에 익명이라는 글자가 들어가게 된다.
단 생성할 때 @PrePersist 안에 있는 필드가 쓰이지 않는다면 null 체크할 필요가 없다.
끝!
출처
https://vixxcode.tistory.com/179
추후 작성 예정
'👩💻 개발 > ⚙️ BACKEND' 카테고리의 다른 글
[Django] related_name 설정 (0) | 2022.10.07 |
---|---|
[SpringBoot/JPA] 무한 참조 및 type definition error: (simple type) 문제 (0) | 2022.08.18 |
[Spring/Java] @Builder / 빌더패턴 (0) | 2022.08.12 |
[Spring/Java] modelMapper (4) | 2022.08.11 |
[SpringBoot] Jpa Repository와 Querydsl 사용방법 (0) | 2022.08.06 |