728x90
JPA를 사용하다 보면 VO 클래스에 DB 컬럼들을 매핑해서 개발하는 경우가 많다.
그런데 가끔은 DB 컬럼과 관계없이 임시로 사용하거나 계산용으로만 쓸 변수가 필요할 때가 있다.
이럴 때는 @Transient
어노테이션을 붙여주면, JPA가 이 필드를 DB 컬럼으로 인식하지 않고 무시하게 된다.
즉, @Transient
가 붙은 필드는 데이터베이스에 저장되지도 않고, 조회할 때도 매핑되지 않는다. 주로 계산된 값이나, UI에서만 사용하는 임시 데이터 등을 저장할 때 사용한다.
예를 들어, 사용자 이름과 성을 각각 DB 컬럼으로 관리하지만, 전체 이름을 조합해서 보여주고 싶을 때, 전체 이름 필드를 @Transient
로 선언하면 편리하다.
이렇게 하면 JPA가 해당 필드를 무시하기 때문에, DB 스키마 변경 없이 애플리케이션 내부에서만 사용하는 데이터를 쉽게 관리할 수 있어 유용했다.
728x90
반응형
'DB > JPA' 카테고리의 다른 글
JPA 양방향 연관관계에서 StackOverflowError 발생한 이유와 해결 (0) | 2021.07.18 |
---|---|
JPA - DB 테이블 자동 생성과 양방향 연관관계 설정 (0) | 2021.02.17 |
질문할 때 DB 테이블 구조를 깔끔하게 올리는 방법과 JPA 관계 매핑 정리 (0) | 2020.10.12 |
JPA 양방향 매핑 시 발생한 무한 순환 참조 에러 (0) | 2020.10.12 |
JPA에서 단일 데이터 조회하기 (0) | 2020.10.07 |