theme: github
Specification 自定义查询
在使用JPA遇到较复杂的或需要更加灵活的查询场景时,可以使用Specification拼接查询。
Demo
实体类:
```java @Data public class Task{
private Integer id;
private String title;
private Integer type;
private String content;
private Date createTime;
private Integer version;
} ```
查询条件(SearchForm):
```java @Data public class SearchForm{
private Integer id;
// title 和 content 的查询关键字
private String keyword;
private List<Integer> types;
private String orderByCreate = "DESC";
private Integer version;
} ```
拼接复杂查询的方法:
```java @Autowired private TaskRepository taskRepository;
public List findAll(SearchForm form) { List