【发布时间】:2018-08-06 06:37:34
【问题描述】:
我正在使用 Hibernate OGM (5.2.0.Alpha1) 和 MongoDB (3.4)
当我正在执行时
字符串查询="db.student.find({'collegeName' :'VNSGU'})"
使用 JPA setFirstResult() 和 setMaxResult() 进行分页,它工作正常,但是在执行聚合查询时
字符串查询 = "db.student.aggregate([{'$match' : {'collegeName' :'VNSGU'}}])";
List listOfStudent = entityManager.createNativeQuery(query, Student.class).setFirstResult(startPosition).setMaxResults(noOfRecords).getResultList();
执行:
在数据库表中,我总共有 10 条记录,其中大学名称是 'VNSGU',
当 startPosition = 0 且 noOfRecords = 5 时,它将在 第一次执行,返回5条记录,
当第二次尝试执行查询时 startPosition = 5 和 noOfRecords = 5,它将返回空列表,因为在第二次执行时它 将总共有 5 条记录,这是第一次执行的输出(我检查了 通过在没有 setFirstResult() 和 setMaxResult() 的情况下执行查询并返回 总共 5 条记录)。根据我的理解,早期执行的输出将 成为下一次执行的输入,它将返回之前的结果 结果。
但实际上正在发生什么,对此有什么解决方案..??
【问题讨论】:
标签: java spring-mvc hibernate-ogm