play querydsl plugin 通过包限制Qclass生成

play querydsl plugin Limiting Qclass generation by package

我正在使用 play framework 版本 2.2.0 并使用 play-querydsl 插件。 我正在使用 Spring Data JPAplay framework 集成的 1.7.2 版。 我没有将 querydsl 用于所有模型 classes,并且仅用于 Spring Data JPA 不支持的少数场景,例如在 WHERE 子句中混合多个 AND、OR 检查。 因此,我想将 play-querydsl 插件生成的 QClasses 限制为仅几个包,而不是所有包含 ENTITY classes.

的包

我参考了 https://github.com/CedricGatay/play-querydsl 并将 QueryDSLPlugin.queryDSLPackage 条目添加到我的 build.sbt 中,如下所示:

playJavaSettings ++ QueryDSLPlugin.queryDSLSettings
QueryDSLPlugin.queryDSLPackage := "com.codetroopers.app.models"

但在此之后,当我尝试使用激活器构建播放应用程序时,Q classes 没有生成。当我从我的 build.sbt 文件中删除 QueryDSLPlugin.queryDSLPackage 条目时,Q classes 是为模型包内的所有 ENTITY classes 正常生成的。 有没有办法将插件生成的 Q class 限制为仅几个包或仅包?

维杰

查看插件的 0.1.2 版 - 它刚刚发布。根据文档:

//From Play 2.3 and onward (thanks to autoImport feature)
queryDSLPackage := "com/codetroopers/app/models"
//OR Up to play 2.2
QueryDSLPlugin.queryDSLPackage := "com/codetroopers/app/models"

我正在使用 Play 2.3 并且可以确认它现在按预期工作(递归扫描 com/codetroopers/app/models 下的所有内容)。