用法

依赖引入

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