inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thực hành! Dữ liệu Spring JPA

Tạo truy vấn theo tên phương thức

안녕하세요 영한님 질문이 있습니다!!

305

kangsy763

49 câu hỏi đã được viết

0

안녕하세요 영한님! 2.5단계 때문에 2월달은 온라인으로 진행되어서 3월달에나 볼 수 있겠네요 ㅜ.ㅜ 

이번에 질문하려고 하는 것은 메서드명으로 쿼리를 만드는 단계에서 자동으로 모든 컬럼을 페치조인을 하는지 궁금해서 질문했습니다! 

엔티티 내부에 LAZY로 걸어놓은 것과 상관없이 메서드명으로 쿼리가 만들어 질 때에 페치조인이 되는 것인가요??

프로젝트 진행 중에 findByTitle 이라는 메서드명으로 쿼리를  호출했을 때, select ... from 해당엔티티 where title= '타이틀명' 이 한 번 나가고 난 뒤에 여기에 lazy로 걸려있던 매핑 테이블들의 데이터에 select을 다 날리더라구요. 언뜻봐서는 n+1 인건가 싶었는데 findByTitle만 호출을 하고 lazy 걸려있는 것들을 뒤늦게 로딩시키지 않았으니 n+1은 아닌 것 같고 그렇다면 혹시 페치조인으로 되는건가 싶어서요! 

특이점은 해당 엔티티와의 fk와는 상관없이 그 테이블의 모든 데이터를 다 끌고온다는 점입니다. 

메서드이름으로 쿼리 생성이 페치조인을 이용하나요 ??

2월 한 달도 좋은 달 되시길 바랄게요~!

spring-boot spring JPA java

Câu trả lời 3

1

yh

네 그렇다면 어디선가 LAZY를 초기화 하고 있을거에요^^ 참고해주세요.

1

yh

안녕하세요. kangsy763님^^

처음 나간 쿼리가 전부입니다.

결국 페치조인이 아니라는 것이지요.

아마 엔티티 연관관계에 EAGER가 걸려있을거에요. 참고로 @XToOne은 기본이 EAGER입니다.

어서 코로나가 끝나면 좋겠네요 ㅎㅎ 그동안 열심히 학습하세요^^!

0

kangsy763

toOne 관계는 모두 lazy로 설정해놨는데도 이러는걸 봐서는 제가 뭔가 단단히 실수한게 있나보네요... 다시 검토해보겠습니다 답변 감사합니다~ ㅎㅎ

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

67

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

105

3

MemberRepository 구현체

0

56

1

pdf 표현 질문드립니다.

0

60

1

로그가 남지 않는 문제.

0

79

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

70

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

71

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

91

2

Sort 인터페이스는 잘 사용 안하나요?

0

52

1

스캔대상 질문드립니다.

0

45

1

하이버네이트6에서의 최적화에 이은 질문

0

82

1

save() vs saveAndFlush DB 통신 횟수

0

52

1

순수 JPA 리포지토리 코드 수정부분

0

86

2

bulk연산 후 flush하는 이유를 모르겠어요

0

150

3

bulk insert 질문입니다.

0

176

2

교만했던 것 같아요.

0

145

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

145

2

동적 테이블에 대한 질문

0

85

1

영속성 전이와 연관관계

0

130

2

강의 10:25 질문

0

73

1

단건 update 질문

0

95

2

엔티티 와 도메인의 경계

0

126

1

UsernameOnlyDto 타입 type mismatch 오류

0

119

1

Projection 개념과 데이터 전달과정에 대해 질문 있습니다.

0

136

1