Inflearn Community Q&A
product image
Written on
·
59
0
안녕하세요 강의를 기반으로 작업을 하다 궁금한점이 생겨서
product - modify에서 사진을 모두 삭제하고 저장을 해두거나
product - register에서 사진이 없는상태로 저장을 해두면
@Query("select p, pi from Product p left join p.imageList pi where pi.ord = 0 and p.delFlag = false ")
Page<Object[]> selectList(Pageable pageable);ProductRepository에서 selectList 쿼리부분의 ord = 0인 설정만 만 호출하게 되버리는데
이때 이미지리스트 테이블에서 이미 ord가 없는 게시물은
조회가 되지 않습니다..
ord가 이미 없는 게시물은 delFlag가 false임에도 조회가 되지않습니다...
강의 목표는 아마도 default.jpeg 가 나와야 정상인거같은데 어떻게 해야 좋을까요 ?
처음엔 서비스에서 imageStr이 없으니 imageStr을 강제로 default.jpeg로 설정해봤지만 어차피 조회되지 않아서 의미가 없었습니다.
쿼리를 수정해봐야 할까요 ..??
Quiz
TanStack Query의 캐싱 기능이 제공하는 주요 이점은 무엇인가요?
클라이언트 코드 작성량 대폭 감소
서버 부하 감소 및 성능 향상
데이터베이스 스키마 자동 생성
사용자 인터페이스 디자인 자동화
Answer 2
0
pi.ord = 0 OR o.ord IS NULL
과 같이 ord 값이 null 인 경우에도 나오게 하시거나
JPQL도 case 문이 존재하니 case when 으로 처리할 수 있으실 겁니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이동준님.
Product 조회 시 이미지가 없으면 기본 이미지를 표시하고자 하시는 것 같습니다. 현재 작성하신 쿼리에서는 pi.ord = 0 조건 때문에 연관된 이미지가 없으면 해당 제품이 조회 목록에서 제외됩니다. 이 문제를 해결하기 위해서는 쿼리에서 pi가 없는 경우도 포함하도록 조정해 주셔야 합니다.
질문에 대한 해결 방안을 다음과 같이 제안드릴 수 있습니다:
- 쿼리 수정: 이미지가 없는 경우에도 제품이 조회되도록 쿼리를 조정합니다.
pi가null일 수 있음을 고려하여WHERE조건을 수정합니다.
@Query("select p, pi from Product p left join p.imageList pi where (pi.ord = 0 or pi is null) and p.delFlag = false")
Page<Object[]> selectList(Pageable pageable);
이렇게 하면, 이미지가 없는 경우에도 해당 Product가 조회됩니다.
- 이미지 처리 로직: 서비스에서 이미지가 없는 경우 기본 이미지를 설정하는 로직을 추가합니다. 조회 시
pi가null이면 코드에서 기본 이미지인default.jpeg를 사용하도록 처리할 수 있습니다.
기존 질문 중 유사한 상황을 다룬 답변이 있어 도움이 될 수 있습니다:
- 6장 상품 등록을 이미지 없이 등록 후 getList 할 때 질문에서는 유사한 문제 해결에 대한 조언이 포함되어 있습니다.
pi.ord = 0 or pi is null조건을 사용하는 방식이 제안됩니다.
질문자님의 상황에 맞춰 위의 해결책을 적용해 보시면 도움이 될 것입니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏






아하 감사합니다 !!
쭉 따라가다보니 가벼운것도 생각나지 않았네요 ㅠㅠ
빠른 답변 감사합니다 좋은 저녁되세요 !!