用法
依赖引入
Maven
<dependency>
<groupId>com.taocares.commons</groupId>
<artifactId>commons-jpa</artifactId>
</dependency>
依赖版本由dependency-bom统一管理
基本用法
Repository需要实现Spring Data JPA提供的JpaSpecificationExecutor
接口
Specification<EntityType> specification = SpecificationFactory.getSpecification(qo);
List<EntityType> result = repository.findAll(specification);
条件配置
class Foo {
String name;
Date createTime;
Bar bar;
}
class FooQo {
@QueryCondition
String name;
@QueryCondition(field="bar.name")
String barName;
@QueryCondition(field="createTime", type=ConditionType.NOT_LESS_THAN)
Date createTimeStart;
@QueryCondition(field="createTime", type=ConditionType.NOT_GREATER_THAN)
Date createTimeEnd;
}
说明:
在QO的字段上使用
@QueryCondition
注解表示此字段为查询条件当QO的字段和作用的目标字段不一致时,配置
field
属性使用
.
将查询条件作用于嵌套对象的属性配置
type
属性,支持更丰富的匹配方式
Last updated