본문 바로가기
공부/트러블슈팅

쿼리 DSL 전략 - 트러블 슈팅

by 고구밍 2022. 6. 1.

쿼리 DSL 전략
도입이유 :
쿼리문의 안정성과 편의성 보완

문제사항:
1. 복잡한 로직을 작성할 경우 JPQL문자열이 상당히 길어짐
2. JPQL문자열에 문제가 있을 경우, 해당 쿼리를 요청해야만 문제가 있는지 확인 가능함 (런타임 오류가 발생)

해갈방안 : 
1. QueryDSL을 이용하여, 자동완성 등 IDE(통합 개발 환경)이용
2. 코드 작성 시점에서 문법 오류를 확인

의견조율 :
Dto조회와 복잡한 WHERE 조건을 사용할 경우, QueryDSL을 사용하기로 함
.where(item.bag.userId.eq(userId), item.status.between(0, 2))
 
의견 결정 :
간단한 쿼리문은 JPA문으로 쿼리요청 (FindById)
복잡한 쿼리문과 Dto로 요청시 QueryDSL을 이용하기로 함
불가피한 경우에는 MySQL 콘솔을 이용하여 DB자료를 확인하면서 JPQL문으로 작성 함

 

 

참고

 

 

'공부 > 트러블슈팅' 카테고리의 다른 글

실전프로젝트 배포후 오류발생  (0) 2022.05.26