개발자
지난 프로젝트에서 Querydsl 만 사용해서 프로젝트를 진행했었습니다! 그런데 아무래도 JPQL 빌더이다 보니 Querydsl 만 사용하는 쿼리 작성에 한계가 보이기 시작했었는데.. 제가 너무 욕심이 과해서 너무 한방 쿼리를 날리려고 한 걸 수도 있지만 그럼에도 최소한의 집계쿼리를 포함해서 쿼리를 작성하고자 했는데 join으로도 해결이 안 되더라고요…. 그래서 결국은 쿼리를 쪼개서 보내고 애플리케이션 계층에서 자바 코드로 조합하는 형태로 완성은 하였지만 Querydsl 을 작성하기 전에 SQL로는 순조롭게 작성이 된 코드가 Querydsl 로 옮겨지지 않는다는 게 조금은 속상하더군요….제가 미숙해서 못한 것도 있을 수 있겠지만 그래도 Querydsl 로 SQL을 100% 활용할 수 없다는 게 조금은 불편하다고 생각이 들었습니다! 이전에 듣기로는 JPA만으로는 모든 쿼리를 처리할 수 없기 때문에 JdbcTemplate 나 MyBatis 를 함께 사용하는 경우가 있다고 들어본 기억이 있습니다! 실제로 실무에서도 JPA와 다른 SQL 매퍼를 조합해서 사용하는 경우가 많을까요?? CUD 작업은 JPA가 너무너무 편리하고 좋은데.. 조회에 있어서는 역시 MyBatis 나 JdbcTemplate 를 사용해 보는 것이 괜찮은 방법인지 궁금합니다!!
답변 1
인기 답변
JPA가 생성해주는 쿼리 작업은 깊이가 깊어지면 러닝 커브가 좀 있습니다. 몇몇 강의에서도 JPA를 100%로 사용하지는 않는 것으로 알고있습니다. 저또한 JPA를 깊게는 파보지 않아서 모르지만 복잡한 통계쿼리 등을 JPA로 구현한다면 매우 힘들 수 있겠다고 생각합니다. (아무 설계 없이 모델(엔터티) 구성하다 자칫하면 꼬입니다.) 결론은 역시 개발에 정답은 없습니다. 현재 본인이 최대한 할수있는 만큼 하시면 됩니다. 현업가서 더 어려운 쿼리를 하시게 될 날이 있을 수 있습니다. 현재의 경험을 잘 정리해두고 이를 면접에서 어필해보시는게 좋다고 봅니다. 답을 주는 면접관이 있을수도 있습니다. 화이팅하세요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!