How i can to generate Q-classes using queryDSL with Spring Boot 3.0.
part of build.gradle:
plugins {
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}
configurations {
querydsl.extendsFrom implementation, compileOnly, runtimeOnly, annotationProcessor
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'com.querydsl:querydsl-jpa'
annotationProcessor 'com.querydsl:querydsl-apt'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.testcontainers:postgresql'
runtimeOnly 'org.postgresql:postgresql'
}
querydsl {
jpa = true
library = 'com.querydsl:querydsl-apt:5.0.0'
querydslSourcesDir = "$buildDir/generated/sources/annotationProcessor/java/main"
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
I try to create Q-classes by own hands, but it's doesn't work(
I recevied the same error upgrading to Spring Boot 3.
I followed the small hint from QueryDSL release notes: http://querydsl.com/releases.html https://github.com/querydsl/querydsl/issues/2612
And I replaced in my build.gradle:
api 'com.querydsl:querydsl-jpa' -> api 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
and
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jpa' -> annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
To add more info for maven users based on @Jyrgen answer:
Dependencies:
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-sql</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-sql-spring</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
</dependency>
where ${querydsl.version} = 5.0.0
Plugins section:
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With