-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Jpa query 질문이 있어서 올립니다.
21.02.04 17:16 작성 조회수 188
1
다름이 아니라 제가 실행하고 돌린 것은 fetch 조인을 해도 쿼리가 하나가 나가는게 아니라 2개가 나갑니다.
select
order0_.order_id as order_id1_6_0_,
member1_.member_id as member_i1_4_1_,
delivery2_.delivery_id as delivery1_2_2_,
order0_.delivery_id as delivery4_6_0_,
order0_.member_id as member_i5_6_0_,
order0_.order_date as order_da2_6_0_,
order0_.status as status3_6_0_,
member1_.city as city2_4_1_,
member1_.street as street3_4_1_,
member1_.zipcode as zipcode4_4_1_,
member1_.name as name5_4_1_,
delivery2_.city as city2_2_2_,
delivery2_.street as street3_2_2_,
delivery2_.zipcode as zipcode4_2_2_,
delivery2_.status as status5_2_2_
from
orders order0_
inner join
member member1_
on order0_.member_id=member1_.member_id
inner join
delivery delivery2_
on order0_.delivery_id=delivery2_.delivery_id
Hibernate:
select
order0_.order_id as order_id1_6_0_,
member1_.member_id as member_i1_4_1_,
delivery2_.delivery_id as delivery1_2_2_,
order0_.delivery_id as delivery4_6_0_,
order0_.member_id as member_i5_6_0_,
order0_.order_date as order_da2_6_0_,
order0_.status as status3_6_0_,
member1_.city as city2_4_1_,
member1_.street as street3_4_1_,
member1_.zipcode as zipcode4_4_1_,
member1_.name as name5_4_1_,
delivery2_.city as city2_2_2_,
delivery2_.street as street3_2_2_,
delivery2_.zipcode as zipcode4_2_2_,
delivery2_.status as status5_2_2_
from
orders order0_
inner join
member member1_
on order0_.member_id=member1_.member_id
inner join
delivery delivery2_
on order0_.delivery_id=delivery2_.delivery_id
이런식으로 두개가 나가는데 이렇게 나가는 이유가 조회한 orderId 값이 달라서 이런건가요?? 그러기엔 영속성 안에 있는 값을 사용하면되는데 왜 다시 한번 호출이 되는지 궁금합니다.
답변을 작성해보세요.
1
김영한
지식공유자2021.02.04
안녕하세요. 경재님^^
아마도 show_sql 옵션을 켜주시고 또
logging.level.org.hibernate.SQL: debug 이렇게 둘다 켜져 있어서 그렇게 보인 것 같아요.
show_sql은 콘솔에 출력하고
logging.level.org.hibernate.SQL: debug는 로거를 통해서 출력하거든요.
다른 JPQL들도 실행해보시면 이해하실 수 있을거에요.
감사합니다.
답변 1