Spring Data Jpa查询DSL Q实体类没有生成
这是pom.xml的要点。 我使用的查询dsl版本是3.6.2
com.mysema.querydsl querydsl-core com.mysema.querydsl querydsl-apt com.mysema.querydsl querydsl-jpa org.bsc.maven maven-processor-plugin 2.2.4 ${project.build.directory}/generated-sources org.mapstruct.ap.MappingProcessor process generate-sources process org.mapstruct mapstruct-processor ${mapstruct.version} com.mysema.maven maven-apt-plugin 1.0.2 generate-sources process target/generated-sources/querydsl com.mysema.query.apt.jpa.JPAAnnotationProcessor
每当我运行mvn clean install时,就会发生此exception消息
[ERROR] diagnostic: C:\Users\users\app\app-ims\app-ims-core\src\main\java\org\app\genesis\inventory\repo\ProductRepoImpl.java:6: error: cannot find symbol import org.brightworks.genesis.inventory.model.QProduct; ^ symbol: class QProduct location: package org.app.genesis.inventory.model
这是class上的要点。
import com.mysema.query.jpa.impl.JPAQuery; import com.mysema.query.types.ConstructorExpression; import org.brightworks.genesis.inventory.dto.ProductDTO; import org.brightworks.genesis.inventory.model.QProduct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import javax.persistence.EntityManager; import java.util.List; /** * */ public class ProductRepoImpl implements ProductRepoCustom { @Autowired private EntityManager em; @Override public Page search(String term, Pageable pageable) { JPAQuery query = new JPAQuery(em); QProduct product = QProduct.product;
模型和repo在同一个项目中,但是没有生成Q Entity类。 我该如何解决?
你的mvn apt插件之间有冲突。 你有两个,你只需要一个。 只是相应地改变它们。 这是一个例子。
org.bsc.maven maven-processor-plugin 2.2.4 ${project.build.directory}/generated-sources org.mapstruct.ap.MappingProcessor com.mysema.query.apt.jpa.JPAAnnotationProcessor process generate-sources process org.mapstruct mapstruct-processor ${mapstruct.version}
如果您愿意,也可以反过来使用apt-maven-plugin
,配置非常相似:
com.mysema.maven apt-maven-plugin 1.1.3 com.mysema.querydsl querydsl-apt ${querydsl.version} org.mapstruct mapstruct-processor ${mapstruct.version} generate-sources process ${project.build.directory}/generated-sources com.mysema.query.apt.jpa.JPAAnnotationProcessor org.mapstruct.ap.MappingProcessor