본문 바로가기
자바의 봄(Spring)/자바와 스프링 공부하기

[JPA] @Transient 어노테이션에 관한 이해

by 종안이 2022. 12. 16.

JPA를 사용하면서 @Transient라는 어노테이션을 사용했었다.

 

하지만 그냥 단순하게 테이블의 맵핑을 제외하기 위해서 사용했다. 

 

이렇게만 아주 단순하게 알고 있었는데 , 

 

이번에 정리를 잘 해놓으신 분이 계셔서 그분이 정리해주신 부분을 읽어보고 

 

@Transient라는 어노테이션에 대해서 다시 생각해보게 됐다.

 

여기서 @Transient 어노테이션이 선언된 위치를 보면 

메서드 위에 어노테이션이 선언되어 있다.

 

만약에 @Transient 어노테이션이 선언되지 않았다면 현재 이 클래스는 Board 엔티티로 선언되어 있으므로 

 

테이블에 해당 메서드로 컬럼이 생성되었을 것이다.

 

그런 일을 방지하기 위해서 Transient 어노테이션을 붙였다.

 

그렇다면 이 어노테이션을 붙인 메서드는 객체에 대한 조작을 담당하기 위한 메서드가 된다. 

(엔티티 클래스에서 다른 일을 할 수 있도록 한다.)

 

또한 이번에 이분이 쓰신 내용을 보면서 

JPA의 접근 방식이 Property 방식과 Method 방식이 있다는 것을 

처음 알게 되었다.

 

 

참고 자료

https://gmoon92.github.io/jpa/2019/09/29/what-is-the-transient-annotation-used-for-in-jpa.html

댓글