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 | 31 |
Tags
- kotlin
- kotlin spring
- CKA
- MySQL
- 정보처리기사실기 기출문제
- Pinpoint
- 티스토리챌린지
- Spring
- 기록으로 실력을 쌓자
- 오블완
- aws
- CloudWatch
- Java
- IntelliJ
- 정보처리기사 실기
- kotlin coroutine
- minikube
- APM
- Elasticsearch
- AWS EKS
- PETERICA
- 공부
- 코틀린 코루틴의 정석
- Kubernetes
- 정보처리기사 실기 기출문제
- mysql 튜닝
- kotlin querydsl
- CKA 기출문제
- AI
- Linux
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 Profiles (0) | 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