• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

one to many 지연로딩

23.01.26 19:45 작성 조회수 300

1

@Entity
@Table(name = "orders")
@Getter @Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Order {

@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();

일대다 관계에서는 기본 설정이 지연 로딩이 맞나요 ??

orderItems.stream().forEach(o -> o.getItem().getName()); //Lazy 강제초기화

@OneToMany 어노테이션에서 fetch = Fetch.Lazy가 없어서 기본설정으로 들어가는지 궁금합니다 !

답변 1

답변을 작성해보세요.

2

OMG님의 프로필

OMG

2023.01.26

안녕하세요. me님, 공식 서포터즈 OMG입니다.
.

@OneToMany의 Default fetchType 은 LAZY입니다.

image

@OneToMany 어노테이션에서 fetch = Fetch.Lazy가 없어서 기본설정으로 들어간다는게 아래처럼 조회가 안된다는 뜻인걸까요?

 

image

@XXToMany는 디폴트가 LAZY, @XXToOne은 디폴트가 EAGER입니다.

image

ToOne관계는 직접 확인해보시면 좋을 것 같아요~
.
감사합니다.

me님의 프로필

me

질문자

2023.01.26

감사합니다 !