인프런 커뮤니티 질문&답변
영속성 컨텍스트 질문
작성
·
305
2
안녕하세요 영한님
회원가입 테스트 부분에서 궁금한 점이 생겼습니다.
meber를 persist해서 영속성 컨텍스트에 넣고 findOne으로 조회해서 가져오면, 해당 member는 1차 캐시에 존재하기 때문에 select 쿼리가 날아가지 않을 것 같은데 왜 날아가는지가 궁금합니다.
놓치는 부분이 있을까 해서 활용편 까지 듣고 복습중인데, 다시 보니 처음에는 생각하지 못한 궁금증이 생기네요
좋은 강의 감사드립니다
퀴즈
JPA에서 SQL과 JPQL 쿼리의 주요 차이점은 무엇인가요?
성능 최적화 방식
데이터 타입 지원 범위
테이블 기반 vs 엔티티 객체 기반
파라미터 바인딩 방식
답변 4
3
1
0
강의 5:59초 보시면
select
member0_.member_id as member_i1_4_,
member0_.city as city2_4_,
member0_.street as street3_4_,
member0_.zipcode as zipcode4_4_,
member0_.name as name5_4_
from
member member0_
where
member0_.name=?
위와 같은 select 쿼리가 날아가는 것 때문에 그렇습니다.
where 부분을 보시면 member0_.name=?
이름을 검색하는 것을 확인할 수 있습니다.
join() 로직 안에서 jpql이 사용되면서 호출되는 select 쿼리입니다.
참고로 JPQL은 항상 SQL로 번역되고 SQL이 실행됩니다.
감사합니다.
0






ㅎㅎ 네
드리고 싶은 조언은 이렇게 의심이 되면 항상 코드로 직접 돌려보면서, 찾아보아야 완전히 본인 것이 됩니다^^!
화이팅!