멀티 모듈 + spring boot 2.x + gradle 9.0
buildscript {
    ext {
        queryDslVersion = "5.0.0"
    }
}
plugins{
    id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}
dependencies {
    // mysql
    runtimeOnly 'com.mysql:mysql-connector-j'
    // jpa
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    // querydsl
    implementation  "com.querydsl:querydsl-jpa:${queryDslVersion}"
    implementation  "com.querydsl:querydsl-apt:${queryDslVersion}"
    implementation 'org.springframework:spring-web'
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}
sourceSets {
    main.java.srcDir querydslDir
}
compileQuerydsl{
    options.annotationProcessorPath = configurations.querydsl
}
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
    querydsl.extendsFrom compileClasspath
}
bootJar {
    enabled = false
}
jar {
    enabled = true
}
package com.mmd.config;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Configuration
public class QueryDslConfig {
    @PersistenceContext
    private EntityManager entityManager;
    @Bean
    public JPAQueryFactory jpaQueryFactory() {
        return new JPAQueryFactory(entityManager);
    }
}
이 때 엔티티를 기반으로 QClass를 생성하기 위해선, gradle 빌드를 다시 해주어야 한다.
gradle -> Tasks -> other에서 java compile
컴파일 자체를 다시 해주면 문제 없이 QClass가 생성된다.