首页 > 解决方案 > Spring JpaSpecificationExecutor 在第一次查询中太慢了

问题描述

我有这个存储库示例:

default  Page<Person> findAllPerson(PersonFilter personFilter, Pageable pageable){
    return findAll(new PersonSpecification(personFilter), pageable);
}

这是规范代码:

@Override
public Predicate toPredicate(Root<Person> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
    List<Predicate> predicates = new ArrayList<>();

    if(filter.getPersonId() != null) {
        predicates.add(criteriaBuilder.equal(root.get("personId"), filter.getPersonId()));
    }

当应用程序启动时,对端点的第一个请求需要 5 到 7 秒,但接下来的所有请求都需要 300 到 500 毫秒。应用程序是否有可能在启动时在数据库中运行查询,或者当应用程序启动时是否有可能在数据库中运行查询以跳过第一个慢速请求?也许一些 JpaSpecificationExecutor 配置...

标签: javaspringspring-bootjpaspring-data-jpa

解决方案


推荐阅读