본문 바로가기

DB/JPA

JPA에서 @Transient 사용하기

728x90

JPA를 사용하다 보면 VO 클래스에 DB 컬럼들을 매핑해서 개발하는 경우가 많다.

그런데 가끔은 DB 컬럼과 관계없이 임시로 사용하거나 계산용으로만 쓸 변수가 필요할 때가 있다.

이럴 때는 @Transient 어노테이션을 붙여주면, JPA가 이 필드를 DB 컬럼으로 인식하지 않고 무시하게 된다.

즉, @Transient가 붙은 필드는 데이터베이스에 저장되지도 않고, 조회할 때도 매핑되지 않는다. 주로 계산된 값이나, UI에서만 사용하는 임시 데이터 등을 저장할 때 사용한다.

예를 들어, 사용자 이름과 성을 각각 DB 컬럼으로 관리하지만, 전체 이름을 조합해서 보여주고 싶을 때, 전체 이름 필드를 @Transient로 선언하면 편리하다.

이렇게 하면 JPA가 해당 필드를 무시하기 때문에, DB 스키마 변경 없이 애플리케이션 내부에서만 사용하는 데이터를 쉽게 관리할 수 있어 유용했다.

728x90
반응형