I'm trying to get the total count of my query but doesn't work.
The query is big so I'll show to final
TypedQuery<Order> query = em.createQuery(criteriaQuery);
        query.setFirstResult(Math.toIntExact(pageable.getOffset()));
        query.setMaxResults(pageable.getPageSize());
        Predicate[] predicateArray = new Predicate[p.size()];
        p.toArray(predicateArray);
        return new PageImpl<>(query.getResultList(), pageable, getTotalCount(criteriaBuilder, predicateArray));
and I create a function to make this count
private Long getTotalCount(CriteriaBuilder criteriaBuilder, Predicate[] predicateArray){
        CriteriaQuery<Long> criteriaQuery = criteriaBuilder.createQuery(Long.class);
        Root<Order> from = criteriaQuery.from(Order.class);
        criteriaQuery.select(criteriaBuilder.count(from));
        criteriaQuery.where(predicateArray);
        return em.createQuery(criteriaQuery).getSingleResult();
    }