✔ QueryDSL

쿼리를 문자가 아닌 코드로 작성해도 쉽고 간결하며 모양도 쿼리와 비슷하게 개발할 수 있는 프로젝트가 QueryDSL이다.

QueryDSL도 Criteria처럼 JPQL 빌더 역할을 한다.(JPA Criteria 대체 가능)

참고

1. QueryDSL 설정

필요 라이브러리

<!-- 쿼리 타입(Q)을 생성할 때 필요 lib--><dependency>    <groupId>com.querydsl</groupId>    <artifactId>querydsl-apt</artifactId>    <version>${querydsl.version}</version>    <scope>provided</scope></dependency><!-- QueryDSL lib--><dependency>    <groupId>com.querydsl</groupId>    <artifactId>querydsl-jpa</artifactId>    <version>${querydsl.version}</version></dependency>
<project>  <build>  <plugins>    ...    <plugin>      <groupId>com.mysema.maven</groupId>      <artifactId>apt-maven-plugin</artifactId>      <version>1.1.3</version>      <executions>        <execution>          <goals>            <goal>process</goal>          </goals>          <configuration>            <outputDirectory>target/generated-sources/java</outputDirectory>            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>          </configuration>        </execution>      </executions>    </plugin>  </plugins>  </build></project>