maven 기준으로 작성하였습니다.
version은 낮은 버전으로 할 경우, 정상 동작하지 않을 수도 있기 때문에 최신 버전으로 하는게 마음이 편할 겁니다.
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>5.0.0</version>
</dependency>
• querydsl-apt
apt(annotation processing tool)이고 @Entity로 표시된 객체들을 Q-type 엔티티 클래스로 생성해준다.
참고 link : https://www.baeldung.com/intro-to-querydsl
이 플러그인 통해 Q+Entity 자바 클래스를 자동으로 생성해 줍니다.
<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>
IDE(Intellij) 우측 상단에 Maven을 클릭하고 lifecycle 아래에 complie 실행
만약 위와 같은 아래가 하단에 발생한다면 아래와 같이 설정 변경
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Gradle 용(build.gradle)
implementation 'com.querydsl:querydsl-jpa'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"