스프링 프레임워크에서 사용되는 @Transient 어노테이션에 대해 알아보겠습니다. @Transient 어노테이션은 엔티티 클래스에서 특정 필드를 영속화(persistence)하지 않고, 데이터베이스에 저장되지 않도록 지정하는 용도로 사용됩니다.
@Transient 어노테이션의 역할
@Transient 어노테이션은 JPA(Java Persistence API)를 기반으로 한 ORM(Object-Relational Mapping) 기술에서 엔티티 클래스의 필드를 영속화하지 않음을 표시하는 역할을 합니다. 이 어노테이션이 붙은 필드는 데이터베이스 테이블의 컬럼으로 매핑되지 않으며, 저장 및 조회 과정에서 무시됩니다.
@Transient 어노테이션 사용 예시
다음은 스프링에서 @Transient 어노테이션을 사용한 예시입니다.
@Entity
@Table(name = "products")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Transient
private BigDecimal price;
// Getters and setters
}
위 예시에서 Product 클래스의 price 필드에 @Transient 어노테이션이 붙어 있습니다. 이를 통해 price 필드는 데이터베이스에 저장되지 않으며, 영속화되지 않습니다. 따라서 price 필드는 필요한 계산 등을 위해 임시로 사용되는 비영속(non-persistent) 필드로 간주됩니다.
결론
@Transient 어노테이션은 엔티티 클래스에서 특정 필드를 영속화하지 않고, 데이터베이스에 저장되지 않도록 지정하는 용도로 사용됩니다. 이를 통해 필요한 계산이나 임시 데이터를 처리하는 등의 상황에서 유용하게 활용할 수 있습니다.
스프링의 @Transient 어노테이션을 사용하면 데이터베이스와의 상호작용에서 특정 필드를 제외하고 관리할 수 있습니다.
'IT > spring' 카테고리의 다른 글
스프링 @TableGenerator 어노테이션 (0) | 2023.07.03 |
---|---|
스프링 @Temporal 어노테이션 (0) | 2023.07.03 |
스프링 @GeneratedValue 어노테이션 (0) | 2023.07.03 |
스프링 @Column 어노테이션 (0) | 2023.07.03 |
스프링 @Table 어노테이션 (0) | 2023.07.03 |
댓글