[Springboot] SpringBoot 3.x maven+ QueryDSL 설정하기
pom.xml
<properties>
<querydsl.version>5.0.0</querydsl.version>
</properties>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<classifier>jakarta</classifier>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
<version>5.0.0</version>
</dependency>
기존의 공식문서를 참고하면 plugin도 추가해주어야 하는데, 여러번의 오류와 서치 끝에 spring boot 3 이상 버전과 java 17 이후로 jakarta에서 plugin이 deprecated 되었다는 정보를 확인하였다.
Querydsl + Spring 3.0 + Java17 업데이트 내용! [Maven+Gradle]
Maven을 사용하고 QueryDSL을 사용했다면 기존 아래와 같이 사용했던 apt-maven-plugin 설정이 있을 것이다. com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor
samori.tistory.com
이 글을 참고하였다.
추가로 설정해준 부분은
https://velog.io/@yulhee741/JPA-QueryDSL-Q-Class-%EC%83%9D%EC%84%B1-%EC%95%88%EB%90%A0-%EB%95%8C
[JPA] QueryDSL Q Class 생성 안될 때
pom.xml에 querydsl관련 의존성과, 플러그인을 설정했는데 Q Class가 생성이 되질 않았다.File - Project Structure - Modules 메뉴에 들어가서 target 폴더 아래의 generated-sources 폴더를 소스코드로 인식할 수
velog.io
이 글을 참고하여 File - Project Structure - Modules 메뉴에 들어가서 target 폴더 아래의 generated-sources 폴더를 소스코드로 인식할 수 있게 처리해 주었다.
target 폴더를 삭제하고 다시 compile 해보면 된다.
실행 결과