QueryDSL
💡QueryDSL
Querydsl - 레퍼런스 문서
본 절에서는 SQL 모듈의 쿼라 타입 생성과 쿼리 기능을 설명한다. com.mysema.query.sql.Configuration 클래스를 이용해서 설정하며, Configuration 클래스는 생성자 인자로 Querydsl SQL Dialect를 취한다. 예를 들어
querydsl.com
💡QueryDSL을 사용하는 이유
- Query를 문자가 아니라 Java 코드로 작성할 수 있게 도와준다.
- Java 코드로 Query를 작성하기 때문에 문법 오류를 컴파일 시점에 발견할 수 있다.
- 문법이 SQL과 비슷하기 때문에 쉽게 학습할 수 있다.
JPQL vs QueryDSL
💡JPQL
String jpql = "SELECT m FROM Member m WHERE m.username = :username";
List<Member> result = em.createQuery(jpql, Member.class)
.setParameter("username", "dev")
.getResultList();
- m.username을 m.userame이라고 잘못 써도 컴파일러는 에러를 못 잡는다.
- 런타임에 가서야 "cannot resolve property" 같은 예외가 터진다.
💡QueryDSL
QMember m = QMember.member;
List<Member> result = queryFactory
.selectFrom(m)
.where(m.username.eq("dev"))
.fetch();
- m.username이 실제 Member 엔티티의 프로퍼티를 기반으로 자동 생성된 Q 클래스(QMember)의 필드이기 때문에,
username을 userame으로 잘못 작성하면 컴파일 에러가 바로 발생한다.
출처
https://www.inflearn.com/course/querydsl-%EC%8B%A4%EC%A0%84/dashboard
실전! Querydsl| 김영한 - 인프런 강의
현재 평점 5.0점 수강생 16,046명인 강의를 만나보세요. Querydsl의 기초부터 실무 활용까지, 한번에 해결해보세요! Querydsl을 기초부터 실무활용까지 한번에 배울 수 있습니다., 단순한 기능 설명을
www.inflearn.com