Spring

FETCH JOIN시 id가 조회안된다는 에러

MDanderson 2023. 9. 15. 22:26

JOIN FETCH 로 했더니 detailImage가 하나도 없는경우 조회가 안되더라. 당연히 조인이안될테니까..

LEFT JOIN으로 해야한다.

 

 

JOIN FETCH는 JPA에서 연관된 엔터티를 가져오기 위해 사용되는 Eager Fetching 방법 중 하나입니다. 여기에서는 Product와 그에 연관된 detailImages를 한 번의 쿼리로 함께 가져오려고 합니다.

문제는, JOIN FETCH를 사용할 때 연관된 엔터티가 없는 경우 결과를 반환하지 않을 수 있다는 것입니다. 즉, detailImages가 없는 Product를 조회할 때 해당 Product가 반환되지 않을 수 있습니다.

이 문제를 해결하려면 LEFT JOIN FETCH를 사용하는 것이 좋습니다. LEFT JOIN FETCH는 연관된 엔터티가 없어도 주 엔터티 (여기서는 Product)를 반환합니다.

'Spring' 카테고리의 다른 글

엔티티 상속 @Inheritance @DiscriminatorColumn  (0) 2023.11.09
AOP- Security check  (1) 2023.11.09
요청시 빈객체를 반환하는 경우  (0) 2023.09.15
google oauth  (0) 2023.06.14
<T extends Number> 랑 <? extends Number> 랑 차이  (0) 2023.06.14