본문 바로가기
IT/spring

스프링 @Transient 어노테이션

by 뉴코딩맨 2023. 7. 3.
스프링 프레임워크에서 사용되는 @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

댓글