데이터 중복 과 뻥튀기 질문
637
작성한 질문수 12
안녕하세요 영한님 햇갈리는게 있어서 질문좀 드리겠습니다..
7:10 보시면 쿼리를 실행하시는데
ORDERS 테이블 2개 -> 4개 로 뻥튀기가 되신다고 하셨습니다.
이 그림에서 ORDER_ID 가 4번 인 값만 보겠습니다.
Order_Item 테이블에는 Order_ID 가 4인 값이 2개가 있습니다.
그래서 Orders 테이블과 Order_item 테이블을
order_id 가 4인 값을 조인하면
데이터가 2개가 나옵니다 (Orders 테이블 1->2 뻥튀기)
그런데 이걸 중복 이라고 보고 (9:21) distinct를 하시는데
이걸 중복-뻥튀기 라고 봐야하나요 ??
이 부분이 햇갈립니다 왜나하면 그림에서 보듯이
(Order_id 가 4인경우만생각)
order_item_id 값이 하나는 6 다른 하나는 7
등 다른 값이 존재 하는데 말입니다..
그러므로 디비에서는 distinct 가 불가능합니다(서로 다른 컬럼 값 존재) 그런데 JPA는 ID 값만 같으면 다른 컬럼이 존재해도 그냥 같다고 생각해서 distinct를 해버리면
문제가 생기는게 아닌가요 ?
아래 그림에서 보듯이 컬럼 값이 다른데 JPA이게 distinct 가 되는지... 이해가안갑니다
답변 1
0
안녕하세요. adamku님
JPA 기본편 강의의 페치 조인을 참고해주세요.
여기에서 JPA의 distinct에 대한 부분도 자세히 알려드립니다.
https://www.inflearn.com/course/ORM-JPA-Basic/lecture/21742?tab=curriculum&volume=1.00&quality=auto
감사합니다.
강의 관련 외 질문입니다.
0
70
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
1
92
1
BeanCreationException
0
92
3
Update 후 UpdateMemberResponse 매핑할 때
0
50
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
101
2
페이징 + 검색조건 관련해서 질문드립니다.
0
71
1
Query Dsl Q파일 질문입니다.
0
84
1
루트 쿼리라는것은
0
60
1
메서드를 분리하는 기준
0
67
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
113
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
86
2
fetch join과 영속화와 OSIV의 관계
0
88
2
Distinct 사용 전 결과에 대한 의문
0
117
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
60
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
60
1
뷰템플릿 사용 시
0
79
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
86
1
DTO 대신 Form 사용은 안되나요?
0
139
1
OSIV ON 상태일 때
0
98
1
fetch join VS fetch join 페이징 궁금증
0
189
2
양방향 연관관계 알아보는 법?
0
108
1
16강 17강 간단 정리 이게 맞을까요 ?
0
167
2





