【发布时间】:2018-09-20 07:24:40
【问题描述】:
我正在尝试使用 querydsl 构建一个带有 Spring Boot 的 API。我已经设法使用 Gradle 插件生成 QClasses,但我无法将这些类用作 QClasses,所有它们的导入都未解决。我附上了相关文件和屏幕截图,以了解事情的外观。
plugins {
id "java"
id "eclipse"
id "idea"
id "org.springframework.boot" version "2.0.1.RELEASE"
id "io.spring.dependency-management" version "1.0.5.RELEASE"
id "com.ewerk.gradle.plugins.querydsl" version "1.0.9"
}
querydsl {
querydslDefault = true
jpa = true
}
idea {
module {
sourceDirs += file('src/querydsl/')
generatedSourceDirs += file('src/querydsl/')
}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile "com.querydsl:querydsl-jpa:4.1.3"
testCompile('org.springframework.boot:spring-boot-starter-test')
}
这会产生像这样的 QClasses
如您所见,一个小问题是我无法再将树打开到 querydsl 模块。如果我删除sourceDirs += file('src/querydsl/'),我可以打开树。我不知道这是不是有意的。
我的仓库类是这样的
public interface BotRepository extends PagingAndSortingRepository<Bot, UUID>, QuerydslPredicateExecutor<Bot>, QuerydslBinderCustomizer<QBot> {
}
这告诉我项目模块设置有问题,即使我在 Gradle 中添加源。单击Add dependency on module 后,我可以导入该类。但话又说回来,我得到一个错误
我很确定会发生此错误,因为 QClass 无法解析导入。这是它的样子
这就是我卡住的地方。我无法继续使用 API。任何帮助将不胜感激。
P.S.:我知道有一些答案显示了如何设置 gradle,我使用这些答案进行了设置,并决定使用 querydsl gradle 插件。所以,我不希望删除插件并采取其他方式(阅读:querydsl-apt:jpa)
【问题讨论】:
标签: java spring-boot gradle intellij-idea querydsl