230313 - Jooq

Cornchip·2023년 3월 13일
0

Today-I-Learned

목록 보기
26/28

목차
1. Jooq



1. Jooq

1) Jooq의 장점

  • Jooq 방식으로 사용한다면, 엔티티를 작성할 필요가 없다
  • 로그가 보기 좋게 나온다.
    • query 로그 안에 binding parameter가 함께 포함됨
    • 결과 로그가 예쁘다.

2) Jooq의 단점

  • ORM 기술이 아니기 때문에 Spring Data JPA와 결이 잘 안 맞는다.
  • JPA와 정반대의 매커니즘: Jooq 클래스가 엔티티 클래스를 방해한다.
  • JPA 기술이 아니어서 오는 문제점
    • Spring Data JPA 트랜잭션 연동이 힘들다:

      자체 트랜잭션 기술 -> Jooq 코드가 서비스에 노출

    • 하이버네이트 auto-dll 사용 불가, DB 스키마는 이미 준비되어 있어야 함
  • 스프링과 연동되어 있지 않아서 오는 불편함
    • 스프링 Pageable 정보로부터 Jooq 쿼리를 조립하기가 상당히 까다로움
  • gradle 플러그인을 쓸 경우, DB 정보가 build.gradle에 침투함
    • DB 기본 정보, 로깅, 타입 변환(enum 등) 정보, 패키지 정보, DB dialect, JDBC 드라이버 정보...
  • 매뉴얼도 어려운 편이다, 레퍼런스도 적다.
profile
cornchip

0개의 댓글