jOOQ generate을 통해서 생성된 Dao를 기반으로 R2DBC 환경에서 테스트를 진행할 때 findAll(), findById() 등 뒤에 fetch()가 붙어서 Blocking 방식으로 DB에 접근하게 되어 있었습니다. fetch() 코드를 들어가서 확인하였을 때 아래와 같았습니다. @Blocking <E> @NotNull List<E> fetch(RecordMapper<? super R, E> var1) throws DataAccessException; 그래서, jOOQ 공식 사이트에서 찾아보았을 때 아래와 같이 reactor fecth()가 가능하다는 것은 확인하였습니다. https://www.jooq.org/doc/latest/manual/sql-execution/fetching/reactive-fetching/ Dao을 적용해서 Reactor 방식으로 진행할 수 있는 방법은 없을까요?? 또한, Reactor Fetch 방식으로 실행하였을 때 디버깅 로그가 찍히지 않는 문제가 발생하고 있는데 이것에 대해서도 해결 방법이 있을까요??? Configuration이 적용되지 않는 것 같아서 아래와 같이 설정도 해보았지만 적용되지는 않았습니다. import io.r2dbc.spi.ConnectionFactory; ... @Configuration public class JooqConfig { public final ConnectionFactory connectionFactory; public JooqConfig(ConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; } ... @Bean public DSLContext jooQDSLContext() { DSLContext dsl = DSL.using(connectionFactory).dsl(); dsl.configuration().set(PerformanceListener::new); dsl.settings().withRenderSchema(false); return dsl; }
jOOQ를 공부하면서 너무 편하게 쿼리를 작성하고 있는데 한가지 불편한 점이 있어서 질문 드립니다. 단순 쿼리 결과를 확인하고 싶은 경우 마이바티스는 xml에 짠 쿼리를 DB 스키마와 바로 연결해 스프링부트를 띄울 필요 없이 intelliJ IDE에서 쿼리를 날리고 서비스 탭에서 쿼리 결과를 보여주도록 할 수있는데, jOOQ는 자바 코드로 되어 있어서 이렇게 IDE에서 바로 쿼리 결과를 확인해볼 수 없더라구요. 테스트코드로 실행한 후 나간 쿼리를 직접 sql 콘솔에 찍어 결과를 보거나, 강의 마지막에 알려주신 jooq SQL 변환 사이트로 자바 코드로 되어있는 jooq 구문을 sql로 변환해서 sql 콘솔에서 실행하는 방법 말고 더 편리한 방법이 있는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 쿼리 dsl에서 많이 설명 해주셨는데요 그렇다면 dsl을 쓰는 현업에서는 jpql을 사용할 일이 전혀 없을까요 ? 전혀 없다고 해도 근본이 되는 jpql을 알아둬야 하겠지만 학습시간에 대한 비중을 어디에 크게 둬야 할지 의문입니다 .