쿼리를 문자가 아닌 코드로 작성해도 쉽고 간결하며, 모양도 쿼리와 비슷하게 개발할 수 있다!
QueryDSL을 사용하려면
com.mysema.query.jpa.impl.JPAQuery
객체를 생성해야 한다.
public void queryDSL() {
EntityManager em = emf.createEntityManager();
JPAQuery query = new JPAQuery(em);
QMember qMember = new QMember("m"); //생성되는 JPQL의 별칭이 m
List<Member> members =
query.from(qMember)
.where(qMember.name.eq("회원1"))
.orderBy(qMember.name.desc())
.list(qMember);
}
쿼리 타입(Q)는 사용하기 편리하도록 기본 인스턴스를 보관하고 있다.
public class QMember extends EntityPathBase<Member> {
public static final QMember member = new QMember("member1");
...
}