fetch type 이란

keep_going·2023년 4월 13일

지식저장

목록 보기
8/11

fetchtype은 JPA에서 엔티티를 조회할 때, 연관된 엔티티를 함께 조회하는 방법을 설정하는 옵션

  1. Eager Fetch : 연관된 엔티티를 즉시 모두 가져오는 방법
    즉시 로딩을 하기 때문에, 연관된 엔티티가 많은 경우에는 성능 이슈가 발생할 수 있음
    그러나 연관된 엔티티를 사용해야 할 상황에서 따로 조회하는 부분이 없어서 코드 작성이 간단해짐
    예시: @OneToMany(fetch = FetchType.EAGER)

  2. Lazy Fetch : 연관된 엔티티를 실제로 사용할 때 가져오는 방법
    필요한 시점에 로딩을 하기 때문에, 성능 이슈를 방지할 수 있음
    그러나 연관된 엔티티를 사용하기 위해서는 반드시 조회하는 부분을 만들어줘야 하므로 코드 작성이 조금 더 복잡해짐
    예시: @OneToMany(fetch = FetchType.LAZY)

따라서, 데이터베이스에 대한 접근 패턴과 성능 요구사항을 고려하여 적절한 fetchtype을 선택하는 것이 중요

profile
keep going

0개의 댓글