inflearn logo
강의

講義

知識共有

Java ORM標準JPAプログラミング - 基本編

即時ローディングと遅延ローディング

eager를 굳이 사용할 이유가 있나요 ??

555

kangsy763

投稿した質問数 49

1

1. EAGER 를 굳이 사용을 하지않고 그냥 두면 알아서 join 해서 같이 로딩이 되는데 굳이 사용되는 이유가 있나요 ??? default가 지연로딩인 OneToMany, ManyToMany의 경우에 EAGER 시켜주기 위함인가요 ?

2. 

member.java의 lazy를 없애고 그냥 team 으로 한 번 실험을 해봤는데 지연로딩이 된 것 같습니다.  이 이유는 team이 OneToMany로 기본이 지연로딩이기 때문인가요? 지연로딩과 프록시.. 한 번에 감을 확 잡기가 힘드네요 ㅜㅜ

java JPA

回答 2

1

yh

1. EAGER 를 굳이 사용을 하지않고 그냥 두면 알아서 join 해서 같이 로딩이 되는데 굳이 사용되는 이유가 있나요 ??? default가 지연로딩인 OneToMany, ManyToMany의 경우에 EAGER 시켜주기 위함인가요 ?

-> ManyToOne, OneToOne 관계는 기본이 EAGER입니다. 그래서 join이 발생했을 것으로 추정됩니다.

2. member.java의 lazy를 없애고 그냥 team 으로 한 번 실험을 해봤는데 지연로딩이 된 것 같습니다.  이 이유는 team이 OneToMany로 기본이 지연로딩이기 때문인가요? 지연로딩과 프록시.. 한 번에 감을 확 잡기가 힘드네요 ㅜㅜ

-> 네 OneToMany, ManyToMany는 기본이 지연로딩 입니다.

실무에서는 꼭! 모두 지연로딩으로 설정하고 사용하세요^^!

0

joojjang

ManyToOne , OneToOne 관계는 굳이 기본을 EAGER로 한 이유가 있을까요? LAZY가 default이어야 할것 같은데 말이죠...

0

yh

네 저도 같은 생각입니다. 다만 JPA 스펙을 처음 만든 시점이 너무 오래되어서 당시에는 이런 생각이 맞았을 수도 있습니다.

감사합니다.

실무 조언 관련 질문입니다.

0

41

1

H2데이터베이스 파일 생성

0

51

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

49

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

48

1

JPQL 메소드와 락

0

52

1

Delivery @OneToOne

0

57

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

89

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

88

2

연관관계 매핑 질문드립니다.

0

82

2

h2데이터베이스 실행오류

0

105

2

persistence.xml

0

103

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

89

1

Native Query와 MyBatis

0

63

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

82

1

임베디드 타입 예시 코드 관련 질문

0

112

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

90

3

인텔리제이 패키지 커서 단축키 질문

0

106

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

136

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1

임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.

0

95

1

데이터베이스가 초기화되는 것 같아요

1

177

2