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
'자바의 봄(Spring) > 자바와 스프링 공부하기' 카테고리의 다른 글
[Spring] ResponseBody 어노테이션의 작동원리 (0) | 2023.01.16 |
---|---|
[JAVA] Servlet에 대해서 (0) | 2022.12.21 |
[JPA] 임베디드 타입 (0) | 2022.12.10 |
[JAVA] JAVA의 인터페이스란? (0) | 2022.12.08 |
[JPA] 지연로딩과 즉시로딩 (2) | 2022.12.06 |
댓글