Как получить общее количество результатов из запроса entity Manager

#java #mysql #spring-boot

#java #mysql #spring-boot

Вопрос:

Я работаю над нумерацией страниц с использованием Spring boot. Я пытаюсь получить общее количество результатов из запроса entity Manager для разбивки на страницы. Для этого я получаю maxresults для отображения из запроса, но как я могу получить общее количество результатов.Пожалуйста, скажите мне, что я новичок в enity manager.

     @Override
public List<User> getsearchresults(String result) {

    String query = "FROM User WHERE (education = :education) OR (city = :city)";

    return em
                .createQuery(query,User.class)
                .setParameter("education",education)
                .setParameter("city",city)
                .setMaxResults(5)
                .getResultList();
 }
  

вот как я пишу запрос, который возвращает результаты, но мне нужно общее количество результатов.Как я могу это сделать, пожалуйста, помогите мне.

Комментарии:

1. Эта информация теряется, когда вы setMaxResults . Не могли бы вы не сделать этого, а затем получить все элементы в виде объектов в List , тогда у вас есть count ( List.size() ), а затем отфильтровать его в коде?

2. @tomgeraghty3 я пишу 2 функции с одним и тем же запросом дважды, одну с maxresults без maxresults, чтобы получить размер списка. я знаю, что это не лучший способ, но для меня это сработало. спасибо за подсказку.