33, 34, 35 pdf 페이지 관련 질문입니다!
200
작성한 질문수 3
안녕하세요 강사님 :)
설명하신 내용 중에 헷갈리는 부분이 있어 질문 드리고자 합니다.
pdf 페이지 기준으론, 33 34 35페이지에 해당하는 부분입니다! (01. JPA 소개)
33페이지에서 member.getOrder() 을 실행하면 null이 발생한다고 말씀하셨는데, 왜 null이 발생하는 지 잘 모르겠습니다.
제 생각으론 member class에 getOrder() 메서드가 있다는 것은, member class에 order 객체가 있다는 것으로 봐도 무방할 것 같은데
아래코드에 제가 생각한 부분을 적어놨습니다.
class Member {
Order order;
public Order getOrder() {
}
}
왜 null이 반환되는 것인지 잘 모르겠습니다.
34페이지에서 memberDAO.find()의 반환값인 member 객체를 신뢰할 수 없는 이유를 잘 모르겠습니다.
강사님께서 find()의 내부 동작으로 쿼리가 무엇이 날라갈 지 모르기 때문이라고 도중에 말씀하셨는데, 무엇을 의미하는 것인지 잘 모르겠습니다.
35페이지는 강사님께서 설명하신 내용을 이해할 수가 없습니다.
모든 객체를 미리 로딩할 수 없기 때문에 상황에 따라 회원 조회 메서드를 여러개 만든다고 말씀하셨는데,
미리 로딩한다는 말의 의미를 모르겠고,
왜 미리 로딩할 수 없기 때문에 회원 조회 메서드를 여러개 만들어야 하는 지 잘 모르겠습니다.
부족한 점이 많아 질문을 많이 드려서 죄송합니다. ㅠㅠ
늘 감사합니다
답변 1
3
안녕하세요. 이원태님, 공식 서포터즈 David입니다.
.
1. 객체를 담는 변수가 존재한다고 변수 안에 객체가 들어가 있는게 아닙니다. 아무것도 없을 수 있습니다. (null) 그 이유는 Member 테이블과 Team 테이블을 조인했기 때문입니다. Order 테이블과 조인하여야 Member 내 Order 객체를 확인했을 때 null이 안 나옵니다. 물론 특정 Member와 연관된 Order가 있어야 합니다.
2. 1번 항목과 같은 맥락입니다. find() 메서드가 내부적으로 Member를 불러올 때 Team과 Order가 함께 조인될지, Team만 조인될지 메서드 내 작성된 쿼리를 까보기 전까지 모릅니다. Member 불러오니깐 다 있겠거니 하고 Order를 getOrder했는데 내부적으로 Order를 조인하지 않았다면 null이 발생할 수 있죠.
3. Member를 불러올 때
Team만 조인하는 메서드
Team과 Order 둘 다 조인하는 메서드
둘 다 Member를 가져오는 메서드인데 가져오는 데이터의 수는 다릅니다.
Member를 불러올 때 그냥 다 불러오면 되지 않느냐?라고 반문하실 수 있지만 성능을 위해 필요한 것만 불러오는게 좋습니다.
강의를 처음 들으셔서 혼란스러우신 것 같습니다.
하나하나 이해가 안 되시더라도 강의를 쭉 듣다보면 알아지는 것들이 있으니 강의를 먼저 한 싸이클 쭉 돌려보시는 것을 추천드립니다:)
.
감사합니다.
0
상세한 설명 감사합니다. :)
말씀하신대로, 처음 듣는 생소한 용어들이 너무 많아 혼란스러운 상태인 것 같습니다.
조언해주신대로 한 싸이클 먼저 돌려보겠습니다.
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
54
2
inheritance startegy 선택시 고려사항
0
35
1
Entity 동등성 비교
0
38
1
실무 조언 관련 질문입니다.
0
64
1
H2데이터베이스 파일 생성
0
76
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
66
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
62
1
JPQL 메소드와 락
0
62
1
Delivery @OneToOne
0
69
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
104
2
UnsupportedOperationException 발생
0
97
3
H2 Database 연결이 안됩니다.
0
101
2
연관관계 매핑 질문드립니다.
0
93
2
h2데이터베이스 실행오류
0
114
2
persistence.xml
0
119
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
87
1
영속성 컨텍스트
0
74
1
JPA 프록시
0
105
1
Native Query와 MyBatis
0
81
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
97
1
임베디드 타입 예시 코드 관련 질문
0
125
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
100
3
인텔리제이 패키지 커서 단축키 질문
0
112
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
151
1





