
앞선 포스트에서 만든 엔티티를 이용해 JPQL과 Querydsl을 비교해보겠다.
member와 team세팅 같은 작업은 BasicTest라는 코드를 만들어 적어두고 실제 테스트 코드에서 BasicTest를 상속하는 형태로 작성했다.

먼저 memberName이 member1과 같은 멤버를 찾는 코드를 JPQL로 작성해보았다.

setParameter로 파라미터 바인딩을 통해 해당하는 member를 찾는 형태이다.
위와 같은 내용을 querydsl로 작성해보았다.

select나 where와 같은 쿼리가 코드로 되어 있어 이것을 사용해 쿼리를 작성하는 것을 볼 수 있다.
두 코드의 차이점은 다음과 같다.
JPAQueryFactory는 동시성 문제가 없기 때문에
필드로 빼서 사용해도 동시성 문제가 발생하지 않는다.