우리는 Spring Data Jpa를 이용해 여러 방법으로 쉽게 쿼리를 만들고 작동시킬 수 있었다.쿼리가 복잡해질 경우 @Query와 같은 어노테이션으로 쿼리를 직접 작성할 수 있다.하지만 이렇게 되면 쿼리에 문제가 있는지 여부를 런타임시에 알 수밖에 없다.이런 문제를
QueryDsl을 실제 사용하기에 앞서 쿼리에서 사용할 엔티티를 두 개 만들었다.그 후 연관관계나 세팅 등이 잘 됐는지 간단한 테스트를 실행해본다.참고로 DB에 들어간 데이터를 직접 보기 위해 application.yml에 h2로 in-memory DB를 설정해주었다.
앞선 포스트에서 만든 엔티티를 이용해 JPQL과 Querydsl을 비교해보겠다.member와 team세팅 같은 작업은 BasicTest라는 코드를 만들어 적어두고 실제 테스트 코드에서 BasicTest를 상속하는 형태로 작성했다.먼저 memberName이 member1
QClass를 사용할 때 앞선 코드에서는 위 코드처럼 사용했다.QMember로 들어가보면 아래와 같이 QMember에 static 메소드가 있다.이것을 이용해 좀 더 편리하게 QMember 인스턴스를 만들 수 있다.여기서 QMember.member를 static으로 선