본문 바로가기

개발/JPA

[JPA] entity 에서 DB의 column으로 쓰고 싶지 않은 변수 처리! @Transient

반응형

JPA 를 사용할 때, entity 에 작성한 변수는 자동으로 db의 컬럼으로 만들어진다.

화면에서 검색 조건 이나, 데이터를 변환에서 보여주고 싶은 경우 등등 db의 컬럼은 아닌데 변수를 쓰고싶은 경우!

두 가지 방법이 있다. 

첫번째로 vo 에만 해당 변수를 선언해서 사용하면 된다.

entity는 db와 매핑하는 용도, vo는 화면과 매핑하는 용도이니.. vo 에만 잘 선언해두고 잘 사용하면 끝..

(entity 와 vo는 mapper 를 사용하여 같은 변수들은 간단하게 변환 가능.)

근데 vo 도 만들기 귀찮고.. mapper 도 쓰기 싫고..entity 하나로 끝내고 싶다면

두번째 방법인 @Transient 어노테이션을 사용하자!

entity 에 db의 column으로 사용하지 않을 변수에는 @Transient 변수를 선언해주면 끝!

(당연한말이지만 vo를 사용할때도 entity에 @Transient 변수를 사용해도 된다!)

반응형