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 해보면 된다.
실행 결과
'BackEnd : Spring > SpringBoot' 카테고리의 다른 글
[TalentTree 프로젝트] HttpSession : 로그인된 사용자 정보 가져오기 (0) | 2024.06.03 |
---|---|
[Springboot] 연관관계 매핑 : 일대일 (0) | 2024.05.27 |
[Springboot] MockBean 테스트 코드 작성하기 (0) | 2024.05.27 |
[Springboot] Spring Doc으로 api 문서화하기 (1) | 2024.05.24 |
[SpringBoot] MariaDB 기본 설정 (0) | 2024.05.23 |