inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

페치 조인 2 - 한계

둘이상의 컬렌션에서 inner join은 왜 사용이 가능할까요? inner join에 대해 질문입니다!

해결된 질문

245

siny7177

작성한 질문수 12

3

  1. 컬렉션  inner join 시에도 데이터가 변하는 걸 실습으로 확인해봤습니다. 그 후  inner join 2번 사용 시MultipleBagFetchException를 발생시키는지 궁금해서 테스트 해보니 따로 발생시키지 않더라구요!
    영한님 책이 따로 있어서 확인해봤는데, 책에서는 fetch join 2개는 컬렉션 * 컬렉션 곱이 만들어지므로 주의해야하고, 하이버네이트 구현체의 경우 MultipleBagFetchException을 발생시킨다고 나와있는데, inner join은 MultipleBagFetchException을 발생시키지 않는 건가요?  같은이유로 데이터 중복값이 크게 증가해 발생해야하는게 아닌가 해서 질문드립니다! 왜 inner join은 하이버네이트가 막아두지 않은 것일까요?

    inner join이 2번 이상 사용이 가능한걸 보면 둘 이상의 컬렉션에 fetch join 을 막아둔 가장 큰 이유가 데이터 중복이 아닌건가요??

  2. 컬렉션 관계에서 inner join으로도 페이징은 불가능 한건가요?

  3. 부모 엔티티가 값 컬렉션 2개를 갖고 해당 컬렉션 fetch 전략을 FetchType.Eager 로 설정해두니 MultipleBagFetchException이 뜨면서 실행조차 안되는걸 발견했는데, 그 이유가 fetch join 2개를 같이 쓸 수 없는것과 같은 이유인가요? 실행조차 안돼서 궁금하네요!

    3가지 질문인데 답변해주시면 감사하겠습니다 :)

JPA java

답변 1

1

김영한

순서대로 답변 드릴게요^^

1. 저도 이 상황에 예외를 발생시키지 않는 부분이 의문이기는 합니다. 하지만 결과적으로 데이터에 문제가 발생할 수 있기 때문에 사용하시면 안됩니다.

2. 컬렉션 관계에서 inner join으로도 페이징은 불가능 한건가요?

네 inner outer도 둘다 동일한 원리로 불가능합니다. 한번 테스트 해보시면 더 확실하게 안되는 것을 확인하실 수 있습니다.

3. 네 맞습니다.

감사합니다.

0

siny7177

답변 감사드립니다 :)

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

0

38

1

H2데이터베이스 파일 생성

0

46

2

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

0

48

2

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

0

45

1

JPQL 메소드와 락

0

48

1

Delivery @OneToOne

0

54

1

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

0

85

2

UnsupportedOperationException 발생

0

80

3

H2 Database 연결이 안됩니다.

0

87

2

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

0

78

2

h2데이터베이스 실행오류

0

103

2

persistence.xml

0

101

2

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

0

75

1

영속성 컨텍스트

0

60

1

JPA 프록시

0

87

1

Native Query와 MyBatis

0

62

1

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

0

81

1

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

0

110

3

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

0

89

3

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

0

102

2

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

0

134

1

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

0

67

1

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

0

95

1

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

1

172

2