1.引入插件
<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>
2.repository继承JpaRepository,QueryDslPredicateExecutor
extends JpaRepository<Entity, Long>,QueryDslPredicateExecutor<Entity>
以一个列表查询来为例
private Predicate toPredicate(Param param) {
QEntity q = QEntity.entity;
BooleanBuilder bb = new BooleanBuilder();
bb.and(q.status.ne(StatusEnum.DELETED));
if(param.getType() != null){
bb.and(q.type.contains(param.gettype()));
}
return bb;
}