JpaSpecificationExecutor接口提供了5个方法:
每个都要给定一个Specification条件集合。
public interface JpaSpecificationExecutor<T> {
//返回一个T类型对象
T findOne(Specification<T> var1);
//返回一个T类型集合
List<T> findAll(Specification<T> var1);
//需要额外增加一个Pageable支持分页操作,返回Page集合,供分页使用
Page<T> findAll(Specification<T> var1, Pageable var2);
//提供排序参数,可以通过某种排序后返回一个T类型对象集合
List<T> findAll(Specification<T> var1, Sort var2);
//返回符合条件的T类型对象的个数
long count(Specification<T> var1);
}
看一看参数Specification是什么:
public interface Specification<T> {
//定义了一个toPredicate return Predicate
//Root是根结点,可以访问所有的类,所以给一个类泛型创建一个root就可以使用给定类的对象了。
//CriteriaBuilder 参数用来确定是模糊查询还是精确查询
Predicate toPredicate(Root<T> var1, CriteriaQuery<?> var2, CriteriaBuilder var3);
}
具体例子:
戳这里👈
JPA Specification深入解析

本文详细介绍了JpaSpecificationExecutor接口的五个核心方法,包括findOne、findAll、findAll分页、findAll排序及count,以及Specification接口的toPredicate方法。通过具体实例,帮助读者理解如何在Java Persistence API中使用这些方法进行复杂查询。
1147

被折叠的 条评论
为什么被折叠?



