Spring Boot 3 与 queryDSL

Kot*_*deo 9 querydsl spring-boot

我如何使用带有 Spring Boot 3.0 的 queryDSL 生成 Q 类。

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
}

Run Code Online (Sandbox Code Playgroud)

我尝试用自己的双手创建Q类,但它不起作用(

小智 20

升级到 Spring Boot 3 时我收到了同样的错误。

我遵循 QueryDSL 发行说明中的​​小提示: http://querydsl.com/releases.html https://github.com/querydsl/querydsl/issues/2612

我在 build.gradle 中替换了:

api 'com.querydsl:querydsl-jpa' -> api 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
Run Code Online (Sandbox Code Playgroud)

和

annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jpa' -> annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
Run Code Online (Sandbox Code Playgroud)

  • 像这样的东西:```<dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>5.0.0</version> <classifier>jakarta</classifier> </依赖项>``` ```<annotationProcessorPath> <groupId>com.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>5.0.0</version> <classifier>jakarta</classifier> < /annotationProcessorPath>``` (4认同)
  • 嗨@Jyrgen,感谢您的回答。请将此翻译为 Maven (2认同)