Query Domain Specific Language

**Querydsl은 SQL, JPQL을 자바 코드로 작성할 수 있도록 도와주는 빌더 API 이다.**오픈소스로 쿼리를 문자가 아닌 코드로 작성해도 ,쉽고 간결하며 모양도 쿼리와 비슷하게 개발할 수 있다.

쿼리메소드 나 @Query(JPQL)의 경우 정적 쿼리만 작성할 수 있다.동적 쿼리를 작성할 때 쓰는 JPA Criteria(크리테이라) 있지만, 너무 복잡하고 어려워서 어떤 JPQL이 생성될지 파악하기 어렵다.Querydsl이 더 편리하고 실용적이다

단순한 CRUD 작업은 JPQL로 충분하지만, 복잡한 동적 쿼리는 QueryDSL을 사용하는 것이 좋다.

특징

구현 방법

의존성 추가

<dependency>
			<groupId>com.querydsl</groupId>
			<artifactId>querydsl-apt</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.querydsl</groupId>
			<artifactId>querydsl-jpa</artifactId>
//버전은 스프링 부트가 알아서 해준다.
		</dependency>