사용자 도구

사이트 도구


java:jpa:transient

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:jpa:transient [2021/08/11 22:00]
kwon37xi
java:jpa:transient [2021/08/11 22:04] (현재)
kwon37xi
줄 1: 줄 1:
 ====== JPA @Transient ====== ====== JPA @Transient ======
-  * [[[[https://docs.oracle.com/javaee/7/api/javax/persistence/Transient.html|@Transient]] 사용 금지 +  * [[https://docs.oracle.com/javaee/7/api/javax/persistence/Transient.html|@Transient]] 사용 금지 
-  * **시간적 결합(Temporal Coupling)**이 발생한다.+  * 필드에 사용할 경우 **시간적 결합(Temporal Coupling)**이 발생한다.
   * 객체의 어느 시점에 해당 필드에 값이 존재할 수도 있고 안할 수도 있는데, 이를 보장하기 어렵다.   * 객체의 어느 시점에 해당 필드에 값이 존재할 수도 있고 안할 수도 있는데, 이를 보장하기 어렵다.
   * 이로 인해 해당 필드의 값의 존재 여부를 항상 체크해야고 그걸 까먹고 있다가 버그의 원인이 된다.   * 이로 인해 해당 필드의 값의 존재 여부를 항상 체크해야고 그걸 까먹고 있다가 버그의 원인이 된다.
 +  * 다만 getter 메소드에 사용하고 해당 메소드에서는 임시 데이터 저장 역할등이 아니고 단순히 getter가 JPA 필드로 매핑하는 것만 방지하는 역할이라면 써도 될것으로 보임.
 +
 +===== transient =====
 +
   * ''transient'' Java keyword 는 원칙적으로는 Java Object 직렬화에서 제외하는 키워드이지만 JPA/Hibernate 에서는 ''@Transient''와 동일한 효과를 발생시킨다.   * ''transient'' Java keyword 는 원칙적으로는 Java Object 직렬화에서 제외하는 키워드이지만 JPA/Hibernate 에서는 ''@Transient''와 동일한 효과를 발생시킨다.
  
java/jpa/transient.1628686839.txt.gz · 마지막으로 수정됨: 2021/08/11 22:00 저자 kwon37xi