해결된 질문
작성
·
280
·
수정됨
1
jOOQ를 공부하면서 너무 편하게 쿼리를 작성하고 있는데 한가지 불편한 점이 있어서 질문 드립니다.
단순 쿼리 결과를 확인하고 싶은 경우 마이바티스는 xml에 짠 쿼리를 DB 스키마와 바로 연결해 스프링부트를 띄울 필요 없이 intelliJ IDE에서 쿼리를 날리고 서비스 탭에서 쿼리 결과를 보여주도록 할 수있는데, jOOQ는 자바 코드로 되어 있어서 이렇게 IDE에서 바로 쿼리 결과를 확인해볼 수 없더라구요.
테스트코드로 실행한 후 나간 쿼리를 직접 sql 콘솔에 찍어 결과를 보거나, 강의 마지막에 알려주신 jooq SQL 변환 사이트로 자바 코드로 되어있는 jooq 구문을 sql로 변환해서 sql 콘솔에서 실행하는 방법 말고 더 편리한 방법이 있는지 궁금합니다.
답변 1
3
Sol Park님 안녕하세요 🙂
우선 강의를 완강하셨군요! 축하드립니다! ㅎㅎ
말씀하신 것처럼 두 가지 방법이 최선입니다.
테스트 코드를 통해 jOOQ로 작성한 쿼리를 실행시키거나
jOOQ Translator 사이트를 이용하거나 (SQL Parser API 사용)
보통 jOOQ를 사용 할 때 제일 많이 받은 피드백 중 하나가
"MyBatis 처럼 SQL을 바로 실행하거나 이미 작성한 SQL을 붙여 넣을 수 없다." 인데요.
이 부분은 우리가 SQL을 프로그래매틱하게 제어함으로써 얻은 생산성, 안정성과 같은 이점에 대한
트레이드 오프라고 생각합니다. (슬프게도 은총알은 없습니다!)
실제로 비슷한 원리로 사용되는
QueryDSL, kotlin의 exposed와 kotlin-jdsl, 스칼라의 slick과 같은 기술들
모두 같은 문제를 가지고 있습니다.
다행히도(?) 다른 기술들은 1번밖에 선택지가 없지만
jOOQ는 2번 선택지도 있다는 점을 인지하시면 좋을듯합니다.
감사합니다.
감사합니다. 역시 은총알은 없는 것이군요ㅎㅎ
그래도 말씀해주신 것처럼 jooq의 장점이 확실해서 앞으로도 마이바티스는 jooq로 완전 대체해서 사용해볼까 합니다.
답변 감사합니다!