1
我有多模块maven项目,它有一个spring jpa存储库模块和一个域实体模块。域模块是存储库模块的依赖关系。 apt-maven-plugin位于存储库模块上。我想要JPAAnnotationProcessor扫描域模块中的实体并在存储库模块中生成Q类。querydsl JPAAnnotationProcessor从依赖产生
我该如何配置?
我有多模块maven项目,它有一个spring jpa存储库模块和一个域实体模块。域模块是存储库模块的依赖关系。 apt-maven-plugin位于存储库模块上。我想要JPAAnnotationProcessor扫描域模块中的实体并在存储库模块中生成Q类。querydsl JPAAnnotationProcessor从依赖产生
我该如何配置?
这是不可能的。
JPAAnnotationProcessor是Maven的APT插件。 APT代表注释处理工具,其执行于编译时间。更确切地说,它包装了编译器,以便生成更多的源代码,之后也会进行编译。 参见http://www.javalobby.org/java/forums/t17876.html
这意味着Querydsl APT Maven插件必须在模块被配置,其中源驻留在必须处理。
但这通常是你想要的。 Q类是元模型,即它们描述您的域模型,因此属于它们。 您的存储库对它们以及对实体的操作(元模型来描述查询,实体由存储库返回)。
我认为如果插件位于域模块中,插件在域模块中生成,但我希望它生成类到存储库中,那么简单地将插件放置在域模块中的pom内部就可以实现 – 2014-11-20 18:30:25
。因为QClasses与存储库相关而不是域。 – 2014-11-20 18:59:01
我认为'JPAAnnotationProcessor'只能用'@ entity'注解扫描类。 – Youssef 2014-11-25 15:37:34