相关技术栈
我们项目是使用的Spring data JPA + querydsl + gradle的
问题一
在使用querydsl查询框架自动生成查询类Qxxx时, 经过gradle编译后发现并没有生成Q类,但是实际上项目已编译成功,且运行时可以注入对应的Q类。
解决
注解处理器(Annotation Processor)是javac内置的一个用于编译时扫描和处理注解(Annotation)的工具。简单的说,在源代码编译阶段,通过注解处理器,我们可以获取源文件内注解(Annotation)相关内容。
由于注解处理器可以在程序编译阶段工作,所以我们可以在编译期间通过注解处理器进行我们需要的操作。比较常用的用法就是在编译期间获取相关注解数据,然后动态生成.java源文件(让机器帮我们写代码),通常是自动产生一些有规律性的重复代码,解决了手工编写重复代码的问题,大大提升编码效率
问题二
通过以上配置后,编译之后能够生成对应的Q类了,但是显示为红色,默认需要提交的
解决
修改.gitignore文件,将生成文件的目录忽略掉即可