Open berryberrybin opened 1 year ago
List<Faq> faqList = new ArrayList()
를 가지고 있을 필요가 없다고 판단public class Faq {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "faq_category_id", nullable = false)
private FaqCategory faqCategory;
}
@ManyToOne(fetch = FetchType.LAZY)
지연로딩으로 인하여 FaqCategory의 정보를 가져올 수 없음
@Service
@Transactional(readOnly = true)
@RequiredArgsConstructor
public class FaqQueryService {
private final FaqRepository faqRepository;
private final FaqInfoMapper faqInfoMapper;
public FaqInfo retrieveFaqByFaqId(FaqQuery.RetrieveFaqByFaqId retrieveFaqByFaqId){
Faq result = faqRepository.findById(retrieveFaqByFaqId.getFaqId())
.orElseThrow(() -> new IllegalArgumentException("faqId = "+retrieveFaqByFaqId.getFaqId() + "는 존재하지 않습니다."));
return faqInfoMapper.of(result);
}
}
![image](https://user-images.githubusercontent.com/67494127/199881066-c3123978-4cfc-4e1f-8878-ef11ca836a77.png)
@xxToxx(fetch = fetchType.EAGER)
즉시 로딩으로 변경@EntityGraph 사용
@Repository
public interface FaqRepository extends JpaRepository<Faq, UUID>, FaqRepositoryCustom {
@Override
@EntityGraph(attributePaths = "faqCategory")
Optional
Faq와 FaqCategory 코드