2014-11-20 44 views
1

我有多模块maven项目,它有一个spring jpa存储库模块和一个域实体模块。域模块是存储库模块的依赖关系。 apt-maven-plugin位于存储库模块上。我想要JPAAnnotationProcessor扫描域模块中的实体并在存储库模块中生成Q类。querydsl JPAAnnotationProcessor从依赖产生

我该如何配置?

+0

我认为如果插件位于域模块中,插件在域模块中生成,但我希望它生成类到存储库中,那么简单地将插件放置在域模块中的pom内部就可以实现 – 2014-11-20 18:30:25

+0

。因为QClasses与存储库相关而不是域。 – 2014-11-20 18:59:01

+0

我认为'JPAAnnotationProcessor'只能用'@ entity'注解扫描类。 – Youssef 2014-11-25 15:37:34

回答

1

这是不可能的。

JPAAnnotationProcessor是Maven的APT插件。 APT代表注释处理工具,其执行于编译时间。更确切地说,它包装了编译器,以便生成更多的源代码,之后也会进行编译。 参见http://www.javalobby.org/java/forums/t17876.html

这意味着Querydsl APT Maven插件必须在模块被配置,其中驻留在必须处理。

但这通常是你想要的。 Q类是元模型,即它们描述您的域模型,因此属于它们。 您的存储库对它们以及对实体的操作(元模型来描述查询,实体由存储库返回)。