Querydsl

https://tecoble.techcourse.co.kr/post/2021-08-08-basic-querydsl/

세팅법

https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.vfy9wirpglmx

Spring Data JPA랑 같이 사용하기

@BeforeEach
    void before(){
        Team teamA = new Team("teamA");
        Team teamB = new Team("teamB");
        teamRepository.save(teamA);
        teamRepository.save(teamB);

        Member member1 = new Member("member11", 10, teamA);
        Member member2 = new Member("member12", 15, teamB);
        Member member3 = new Member("member21", 20, teamB);
        Member member4 = new Member("member22", 25, teamB);
        memberRepository.save(member1);
        memberRepository.save(member2);
        memberRepository.save(member3);
        memberRepository.save(member4);
    }

    @Test
    void queryDslTest2(){
        List<String> memberNames = jpaQueryFactory.select(member.username).from(member).
                where(member.username.contains("2").and(member.age.gt(15))).
                orderBy(member.username.desc()).
                fetch();

        assertThat(memberNames.get(0)).isEqualTo("member22");
        assertThat(memberNames.get(1)).isEqualTo("member21");
    }

Join 문법

기본 Join