Hibernate OGM Mongodb 聚合查询在下次执行时不使用 JPA setFirstResult 和 setMaxResult
Hibernate OGM Mongodb Aggregate Query not working with JPA setFirstResult and setMaxResult while next Execution
I am using Hibernate OGM (5.2.0.Alpha1) with MongoDB (3.4)
我正在执行
字符串查询="db.student.find({'collegeName' :'VNSGU'})"
用于使用 JPA setFirstResult() 和 setMaxResult() 进行分页,它工作正常,但在执行聚合查询时
字符串查询="db.student.aggregate([{'$match' : {'collegeName' :'VNSGU'}}])";
列表listOfStudent = entityManager.createNativeQuery(查询,Student.class).setFirstResult(startPosition).setMaxResults(noOfRecords).getResultList();
执行:
在数据库table中,我总共有 10 条记录,其中大学名称是
'VNSGU',
当 startPosition = 0 和 noOfRecords = 5 时,它会在
第一次执行和return 5条记录,
并且当第二次尝试执行查询时,其中 startPosition = 5 并且
noOfRecords = 5,它将 return 空列表,因为在第二次执行时
总共有 5 条记录,这是第一次执行的输出(我检查过
通过在没有 setFirstResult() 和 setMaxResult() 和 returning 的情况下执行查询
总共 5 条记录)。据我所知,较早执行的输出将
成为下一次执行的输入,它将 return 来自之前的结果
结果.
但实际上发生了什么,解决方案是什么..?
确实,这是一个错误。
我们打开了以下问题来跟踪您报告的错误:https://hibernate.atlassian.net/browse/OGM-1411 .
修复正在审查中,它将成为即将发布的 5.3 的一部分。1.Final 版本。
As Per, I understood the output of earlier execution will become an input of next execution and it will return result from earlier result.
我不认为这是问题所在。更有可能发生的情况是 Hibernate OGM 缓存了第一个查询的结果,并且它也在第二次返回它。这似乎与另一个问题有关:https://hibernate.atlassian.net/browse/OGM-1375
我会在进一步调查问题后立即更新此答案。
I am using Hibernate OGM (5.2.0.Alpha1) with MongoDB (3.4)
我正在执行
字符串查询="db.student.find({'collegeName' :'VNSGU'})"
用于使用 JPA setFirstResult() 和 setMaxResult() 进行分页,它工作正常,但在执行聚合查询时
字符串查询="db.student.aggregate([{'$match' : {'collegeName' :'VNSGU'}}])";
列表listOfStudent = entityManager.createNativeQuery(查询,Student.class).setFirstResult(startPosition).setMaxResults(noOfRecords).getResultList();
执行:
在数据库table中,我总共有 10 条记录,其中大学名称是 'VNSGU',
当 startPosition = 0 和 noOfRecords = 5 时,它会在 第一次执行和return 5条记录,
并且当第二次尝试执行查询时,其中 startPosition = 5 并且 noOfRecords = 5,它将 return 空列表,因为在第二次执行时 总共有 5 条记录,这是第一次执行的输出(我检查过 通过在没有 setFirstResult() 和 setMaxResult() 和 returning 的情况下执行查询 总共 5 条记录)。据我所知,较早执行的输出将 成为下一次执行的输入,它将 return 来自之前的结果 结果.
但实际上发生了什么,解决方案是什么..?
确实,这是一个错误。
我们打开了以下问题来跟踪您报告的错误:https://hibernate.atlassian.net/browse/OGM-1411 .
修复正在审查中,它将成为即将发布的 5.3 的一部分。1.Final 版本。
As Per, I understood the output of earlier execution will become an input of next execution and it will return result from earlier result.
我不认为这是问题所在。更有可能发生的情况是 Hibernate OGM 缓存了第一个查询的结果,并且它也在第二次返回它。这似乎与另一个问题有关:https://hibernate.atlassian.net/browse/OGM-1375
我会在进一步调查问题后立即更新此答案。