본문으로 바로가기

실전! Querydsl #0

category Book & Lecture/Inflearn 2021. 12. 3. 21:23

실전! Querydsl #0

최신 자바 백엔드 기술은 주로 스프링 부터 + 스프링 데이터 JPA를 조합으로 사용.

해당 기술로 해결이 불가능한 부분이 있음.

  • 복잡한 쿼리
  • 동적 쿼리

이를 해결하는것을 도와주는게 QueryDSL이다.

QueryDSL

  • 쿼리를 자바 코드로 작성.
  • 문법 오류를 컴파일 시점에 체크.
  • 동적 쿼리를 깔끔하게 해결.

JPQL vs QueryDSL

    void jpql() {
        String username = "Shin";
        String query = "select m from Member m " +
                "where m.username = :username";
        List<Member> result = em.createQuery(query, Member.class)
                .getResultList();
    }
    void querydsl() {
        String username = "Shin";

        jpaQueryFactory
                .select(member)
                .from(member)
                .where(member.username.eq(username))
                .fetch();
    }