@Basic 어노테이션은 JPA에서 엔티티의 필드나 속성이 데이터베이스의 기본 타입으로 매핑될 때 사용된다.
JPA에서 모든 기본 타입(int, long, double 등)과 래퍼 타입(Integer, Long, Double 등), Stirng, Date 등의 타입들은 기본적으로 @Basic 매핑을 사용한다.
명시적으로 사용하지 않아도 필드가 기본적으로 이 어노테이션을 사용하는 것으로 간주된다.
그래서 특정 필드에 대한 로딩 전략이나 null 허용 여부 등을 명시적으로 지정하고자 할 때 @Basic 어노테이션을 사용하면 된다.
@Basic 어노테이션은 fetch 속성을 가질 수 있으며, 해당 데이터를 어떻게 불러올지 지정할 수 있다.
FetchType.LAZY 는 필요할 때만 데이터를 불러오는 지연 로딩을 의미한다.
FetchType.EAGER 는 엔티티를 불러올 때마다 데이터를 함께 불러오는 즉시 로딩을 의미한다.
optional 속성은 필드가 null을 허용할지 여부를 결정한다. 기본값은 true(null을 허용한다)다.
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Basic(fetch = FetchType.LAZY, optional = false)
private String importantData;
}
---
24년 1월 11일 작성된 글입니
'JAVA > SpringBoot' 카테고리의 다른 글
JPA에서 @Column 어노테이션 사용하는 법 (0) | 2024.03.24 |
---|---|
JPA에서 Enum 처리하기: @Enumerated 와 EnumType (1) | 2024.03.24 |
JPA의 @NaturalId : 자연 키로 엔티티 식별하기 (0) | 2024.03.24 |
JPA @GeneratedValue: AUTO, IDENTITY, SEQUENCE, TABLE 에 대해 알아보자 (0) | 2024.03.24 |
인텔리제이 Spring Boot 프로젝트에서 자동 리로드 설정 방법 (1) | 2024.03.24 |