JPQL vs Querydsl


Before:: 원천 데이터 셋업

JPQL vs Querydsl

JPAQueryFactory 를 필드로 뺄 수도 있다.

참고: JPAQueryFactory를 필드로 제공하면 동시성 문제(Multi Threading)은 어떻게 될까? → 스프링 프레임워크는 여러 쓰레드에서 동시에 같은 EntityManager에 접근해도, 트랜잭션 마다 별도의 영속성 컨텍스트를 제공하기 때문에, 동시성 문제는 일어나지 않는다.


기본 Q-Type 활용


위의 Querydsl 예제에서는 Q클래스의 인스턴스를 사용할 때 new QMember("m") 와 같이 new 를 통해 별칭을 직접 지정해줬지만, Querydsl 에서 제공하는 기본 인스턴스를 사용하는게 더 간편하다.

QMember qMember = new QMember("M"); // 별칭 직접 지정
QMember qMember = QMember.member; //기본 인스턴스 사용