我没有看到eclipse中生成的查询dsl类添加在pom.xml中的依赖项和插件下面。一些人可以回顾一下spring Boot 中query-dsl集成所需的以下更改吗?
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
</dependency>
<!--Plugin for query-dsl -->
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
字符串
`
4条答案
按热度按时间k5ifujac1#
在eclipse中,有时您必须多次刷新项目才能看到生成的源代码。如果没有,请尝试通过以下方式生成文件
字符串
pcrecxhr2#
我遵循下面的2个步骤后,查询DSL类停止给出编译错误。
在eclipse中启用注解处理。在类路径的源代码中添加生成的包。
k10s72fa3#
这个问题是由于M2E的注解处理。新的Eclipse版本包含一个实验性的特性,它将注解处理委托给maven插件,因此行为与从命令行使用mvn相同。
要启用该功能:
1.右键单击项目并选择属性
1.在属性中导航到
Maven -> Annotation Processing
1.要为整个工作区启用此选项,而不仅仅是为此特定模块启用此选项,请选择
Configure Workspace Settings
1.选择
Experimental: Delegate annotation processing to maven plugins (for maven processor only)
.1.单击“应用”。
这样Eclipse就可以使用
pom.xml
中定义的插件处理注解。现在,资源是在构建项目时生成的,也是作为依赖项找到的。不需要使用maven手动构建项目。lokaqttq4#
您添加的依赖项是正确的。它为带有@Entity注解的类生成Q类型。此注解来自后续版本中的jakarta.persistence包。它不将其视为实体。只有javax.persistence包中的@Entity才能被querydsl(5.0.0)识别。使用旧版本的spring data jpa。但这并不是一个理想的解决方案。更好的解决方法是改变插件的处理器,并在实体中添加@QueryEntity注解。这是密码。
字符串