Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- 정보처리기사 실기 기출문제
- MySQL
- go
- AWS EKS
- kotlin querydsl
- 컨텍스트 엔지니어링
- aws
- CloudWatch
- AI
- SRE
- minikube
- Java
- Spring
- kotlin
- kotlin coroutine
- Pinpoint
- PETERICA
- APM
- 코틀린 코루틴의 정석
- golang
- Linux
- 오블완
- 공부
- 티스토리챌린지
- 기록으로 실력을 쌓자
- Kubernetes
- tucker의 go 언어 프로그래밍
- 바이브코딩
- CKA 기출문제
- CKA
Archives
- Today
- Total
피터의 개발이야기
[Spring] @Transient 본문
반응형

엔티티의 변수들은 테이블 컬럼과 매핑된다.
@Getter
@Setter
@ToString
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class UserEntity {
// 고유키
private Long userId;
// 페이데이 사용자 ID
private Long paydayUserId;
// 비밀번호
private String password;
// 사용자명
private String name;
// 이메일
private String email;
// 전화번호
private String phone;
}
하지만 비지니스 로직을 수행하기 위해 컬럼에 없는 변수가 발생하기도 한다.
예를 들어 회원가입 시에 패스워드 확인용 변수를 하나 더 받아야 한다.
이럴 때에 엔티티를 손상시키지 않으려면 엔티티를 상속 받은 VO를 만들면 된다.
@Getter
@Setter
@ToString
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class AccountVo extends UserEntity {
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String beforePassword;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String changePassword;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String confirmPassword;
}
하지만 JPA를 쓸 때에는 다르다.
@Transient를 이용하여 디비컬럼과 상관없이 엔티티의 특정 변수를 영속 필드에서 제외할 때 사용한다.
@Entity
@Table(name = "USER")
public class UserEntity {
// 고유키
private Long userId;
// 페이데이 사용자 ID
private Long paydayUserId;
// 비밀번호
private String password;
// 사용자명
private String name;
// 이메일
private String email;
// 전화번호
private String phone;
@Transient
private String confirmPassword;
UserEntity 클래스의 confirmPassword는 디비상에 저장할 필요가 없다.
반응형
'Programming > Spring' 카테고리의 다른 글
| [Spring] War 배포와 Jar 배포 시 resource 참조 문제 (0) | 2020.12.14 |
|---|---|
| [Spring] Spring Profiles (1) | 2020.12.12 |
| [Spring] Jackson Annotations (0) | 2020.12.10 |
| [SPRING BOOT] Retrofit vs Feign for Server Side (0) | 2020.12.08 |
| [Spring] Spring schedule을 조건부로 활성화 하기 (0) | 2020.12.02 |
Comments