- Querydsl이란?
- @Query어노테이션 안에 JPQL문법으로 문자열을 입력하기 때문에 잘못 입력하면 컴파일 시점에 에러를 발견할 수 없다.
- Querydsl은 JPQL을 코드로 작성할 수 있도록 도와주는 빌더 API
- Querydsl은 소스코드로 SQL문을 문자열이 아닌 코드로 작성하기 때문에 컴파일러의 도움을 받음
- 개발자에게 오타가 있음을 알림
- Querydsl 장점
- 고정된 SQL문이 아닌 조건에 맞게 동적으로 쿼리를 생성
- 비슷한 쿼리를 재사용할 수 있으며, 제약 조건 조립 및 가독성을 향상
- 문자열이 아닌 자바 소스코드로 작성, 컴파일 시점에 오류를 발견
- IDE의 도움을 받아서 자동 완성 기능을 이용, 생산성을 향상
pom.xml
//querydsl.version : 5.0.0
<!--querydsl-->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
</dependency>
<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</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
- Qdamin이라는 자바 코드를 생성하는 플러그인을 추가해줌
- 엔티티를 기반으로 접두사 'Q'가 붙는 클래스들을 자동으로 생성해주는 플러그인
1. 인텔리제이 오른쪽 편에 있는 [Maven]을 클릭
2. <Reload All Maven Projects>버튼을 클릭 (pom.xml에 dependency를 추가하면 이 버튼을 클릭)
3. Maven Dependencies에 querydsl 관련 Dependencies가 추가됨
4. [maven compile] 더블 클릭
5. target/generated-sources 폴더에 QItem클래스가 생성
6. QItem 임포트가 안될때
- [File] - [Project Structure] - [Modules]메뉴에 들어가서 위 그림과 같이 target폴더 아래의 generated-source폴더를 클릭 후 <Sources> 버튼을 클릭해 소스코드로 인식할수있게 처리
'프로그래밍 > spring' 카테고리의 다른 글
[JPA] Spring DATA JPA Querydsl - 3 (0) | 2023.07.19 |
---|---|
[JPA] Spring DATA JPA Querydsl - 2 (0) | 2023.07.18 |
[JPA] Spring DATA JPA @Query어노테이션 (0) | 2023.07.14 |
[타임리프] IntelliJ + Thymeleaf Live reload (0) | 2023.07.01 |
[JPA] JPA란? -3 (0) | 2023.06.19 |