问题描述
我在Spring Boot项目中添加了Query DSL。并且,通过“ mvn compile”生成了QType类。一些生成的类具有如下编译错误:
The constructor QAddress(Class<Address>,PathMetadata,PathInits) is undefined
用于以下构造函数,
public QAddress(String variable) {
this(Address.class,forVariable(variable),INITS);
}
public QAddress(Path<? extends Address> path) {
this(path.getType(),path.getMetadata(),PathInits.getFor(path.getMetadata(),INITS));
}
您能否让我知道我在这方面缺少什么?
pom.xml
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<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.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
解决方法
尝试包括querydsl-core依赖项:
<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-core -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
<version>4.4.0</version>
</dependency>
将其包含在pom.xml中后进行编译。