본문 바로가기
JAVA/SpringBoot

JPA @Basic 어노테이션 사용법

by GangDev 2024. 3. 24.

 

@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일 작성된 글입니