Я использую Hibernate OGM (5.2.0.Alpha1) с MongoDB (3.4)
Пока я выполняю
Строковый запрос ="db.student.find({'collegeName' :'VNSGU'})"
для разбиения на страницы с JPA setFirstResult() и setMaxResult(), он работает нормально, но при выполнении совокупного запроса
String query = "db.student.aggregate([{'$match' : {'collegeName' :'VNSGU'}}])";
Список listOfStudent = entityManager.createNativeQuery(запрос, Student.class).setFirstResult(startPosition).setMaxResults(noOfRecords).getResultList();
Исполнение :
В таблице базы данных у меня всего 10 записей, где название колледжа - «ВНСГУ»,
Когда startPosition = 0 и noOfRecords = 5, он выдаст мой правильный вывод при первом выполнении и вернет 5 записей,
И когда вы попытаетесь выполнить запрос во второй раз, где startPosition = 5 и noOfRecords = 5, он вернет пустой список, потому что при втором выполнении у него будет всего 5 записей, что является результатом первого выполнения (я проверил это, выполнив запрос без setFirstResult() и setMaxResult() и возврат всего 5 записей). Как я понял, вывод более раннего выполнения станет вводом следующего выполнения, и он вернет результат из более раннего результата.
Но на самом деле, что происходит и какое решение для этого..??