반응형
JPA를 사용할 경우 Entity 를 사용하게 되는데 여기 내에 값들은 entity 와 매칭되는 테이블의 컬럼 하나하나로 이어진다.
그렇다는건 entity 클래스 내에는 테이블의 컬럼값들만 정의를 해야하는데,
만약 dto처럼 사용이 되는 entity의 경우 는 테이블 컬럼들 이외에 추가로 다른 변수들도 사용해야할수도 있다.
이럴 경우 @Transient 어노테이션을 사용한다.
예를들어 Member Entity 가 아래와 같이 있다.
@Entity public class Member{ private String id; private String pw; private String pwconfirm; |
pwconfirm 항목은 비밀번호를 한번더 입력해주세요에 사용되는 컬럼이라서 비지니스로직에서 pw==pwconfirm 의 경우에만 사용이 되지 entity로는 필요하지가 않다.
이럴 경우에
@Entity public class Member{ private String id; private String pw; @Transient private String pwconfirm; |
이렇게 지정하면 된다.
그럼 entity 의 특성인 persistence 즉 영속성 에서도 제외 대상이다.
반응형
'IT > Java' 카테고리의 다른 글
Java에서 Thread (Runnable) (60) | 2023.10.10 |
---|---|
[Eclipse] method 생성 시 자동 생성되는 주석 제거 방법 (62) | 2023.10.09 |
[eclipse] 디버깅 하기 (46) | 2023.10.01 |
추상클래스와 인터페이스 차이점 (abstract VS interface) (34) | 2023.09.29 |
JUNIT 테스트 메서드 순서 정하기 (44) | 2023.09.28 |
댓글