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