无法理解如何配置build.gradle,以使用querydsl注释处理器而不使用任何jpa / jdo / mongo。我想使用@QueryEntity注释生成Q类,然后可以使用DSL支持组合动态SQL查询,然后将查询转换为纯文本并将其提供给Spring R2DBC DatabaseClient执行器。
在build.gradle文件中,是否有一种方法可以使用gradle querydsl apt插件和querydsl注释处理器来生成带有@QueryEntity注释的Q类?
我正在使用gradle 5、Spring Data R2DBC、Spring Boot,并计划将queryDsl与注释处理器集成。
这是我的当前build.gradle文件:
plugins {
id 'java'
id 'org.springframework.boot' version '2.2.1.RELEASE'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.8"
}
apply plugin: 'io.spring.dependency-management'
group = 'com.whatever'
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
}
ext {
springR2dbcVersion = '1.0.0.RELEASE'
queryDslVersion = '4.2.2'
}
dependencies {
implementation("com.querydsl:querydsl-sql:${queryDslVersion}")
implementation("com.querydsl:querydsl-apt:${queryDslVersion}")
implementation('org.springframework.boot:spring-boot-starter-webflux')
compileOnly('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
annotationProcessor('org.springframework.boot:spring-boot-configuration-processor')
annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}")
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation('io.projectreactor:reactor-test')
}
test {
useJUnitPlatform()
}
com.querydsl:querydsl-apt:${queryDslVersion}:jpa
看起来只捕获@Entity
注解。那么我该如何使用@EntityQuery
注解生成 Q 类呢? - Viktor M.querydsl-apt
定义正确的分类器。默认的queryDslAnnotationProcessor
的正确分类器是general
。因此,正确的依赖应该是"com.querydsl:querydsl-apt:${queryDslVersion}:general"
。请更正您的答案,我会将您的答案标记为正确的。 - Viktor M.