@Transient
는 엔티티 클래스의 필드 중 DB에 매핑하지 않을 필드를 표시하는 것
입니다.
따라서 영속성 컨텍스트(DB의 중간다리)
를 통해 DB에 저장되거나 로드되지 않습니다.
@Transient
를 사용하는 이유는 2가지가 있습니다.
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double salary;
@Transient
private transient String temporaryData; // 데이터베이스에 매핑되지 않는 필드
// 생성자, 게터, 세터 등...
}
@Transient
가 붙어있는 필드는 DB 테이블과 매핑되지 않으면 JPA 또한 해당 필드를 무시하기 때문에 DB에 저장하거나 로드할 때 무시합니다.