JPA, N+1 이슈
- 불필요한 select query 발생
- 1+N으로 이해
- ORM 사용의 이슈
: 해결방안
JPA, query method
: 메소드를 통한 쿼리 자동 생성
: @Query
- 조건 다양
- SQL과 유사하게 복잡도 높은 쿼리 수행
: 연습문제
// OrderRepository
@Query("from Order o left join fetch o.orderItems i left join fetch i.item where o.id =:orderId")
Order findByIdAndOrderItemsAndItem(Long orderId);
QueryDSL
: 코드로 만드는 쿼리
: 장점
- 코드로 작성
- 컴파일시 오류 확인 가능 (기존의 방법은 실제 코드를 실행해야 알 수 있었음)
- 동적 쿼리
+. 특히 검색 기능에 유용
미니프로젝트 - 실습
: API 개발 - 사용자 관련 CRUD
API 문서 작성 : REST API에 맞춰서
- 보통 action을 api 주소에 명시하지 않음
: API 개발 - 사용자 조회(상세) API 개발
- 사용자 API
- 도서 API
- 도서 목록 조회 - queryDSL
- 도서 단건 조회
- 도서관 목록 API
+ 포트폴리오 TIP
- 기술 나열보단 '개발 경험'
- 한가지 스택을 사용하였더라도 내 생각과 경험이 담아야함
- '나는 같이 일할 수 있는 사람이다'
- '나는 성장하는 사람이다'
- 포트폴리오 혹은 이력서에 활동 기재시 배운점 잘 정리해두기
- '나의 강점은 ~이다'
- 특장점이 아니더라도 내가 생각하는 나의 장점이라도 적기