injae-kim/injae-kim.github.io

Querydsl JPA annotation processor

Opened this issue · 0 comments

image

기존 JPA의 쿼리 자동 생성 편리성 + QueryDsl로 조금 더 복잡한 쿼리(e.g. 조인) 은 커스터마이징 가능!

Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, MongoDB and SQL in Java.

Querydsl defines a general statically typed syntax for querying on top of persisted domain model data. JDO and JPA are the primary integration technologies for Querydsl. This guide describes how to use Querydsl in combination with JPA.

Querydsl for JPA is an alternative to both JPQL and Criteria queries. It combines the dynamic nature of Criteria queries with the expressiveness of JPQL and all that in a fully typesafe manner.

JPA + Querydsl 쓸때 JPA Entitiy.class를 Q*.class 로 바꿔줘야 하는 이유: QueryDsl은 JPA만을 위한 기술이 아님, 여러 라이브러리를 지원하기 위해 각 라이브러리 에서 사용하는 데이터 모델을 공통적으로 Q*.class로 Querydsl내부 데이터 타입으로 바꿔줌

Querydsl은 이 Q* type을 통해 JPA, mongoDB등에 맞는 쿼리를 생성함