앞선 포스트에서 만든 엔티티를 이용해 JPQL과 Querydsl을 비교해보겠다.
member
와 team
세팅 같은 작업은 BasicTest
라는 코드를 만들어 적어두고 실제 테스트 코드에서 BasicTest
를 상속하는 형태로 작성했다.
먼저 memberName
이 member1
과 같은 멤버를 찾는 코드를 JPQL로 작성해보았다.
setParameter
로 파라미터 바인딩을 통해 해당하는 member
를 찾는 형태이다.
위와 같은 내용을 querydsl로 작성해보았다.
select
나 where
와 같은 쿼리가 코드로 되어 있어 이것을 사용해 쿼리를 작성하는 것을 볼 수 있다.
두 코드의 차이점은 다음과 같다.
JPAQueryFactory는 동시성 문제가 없기 때문에
필드로 빼서 사용해도 동시성 문제가 발생하지 않는다.