我正在使用弹簧数据的Pageable来限制记录提取。我在数据库中有超过500个条目,但我想只获取5但它没有正确返回。通常它返回2,3或4条记录(每次返回少于5条记录,但我在数据库中有500条)。所以请帮助我在下面给出的服务类和存储库代码
服务代码:
import numpy
with open("myfile.fa","rt") as infile:
matrix = numpy.matrix([list(line.strip()) for line in infile.readlines()])
print matrix
存储库代码:
public List<Client> listAll() {
Pageable pageable = new PageRequest(0,5);
return (List<Client>) clientRepository.getAllClient(pageable);
}
答案 0 :(得分:1)
此处的问题是您为关联指定的JOIN Fetch选项的结果。
如果您考虑通过此语句从DB返回的结果集,那么它可能包含每个用户的多个记录,例如结果集中的所有5条记录都来自客户x,如果他有例如5个办事处。 JPA层中的后处理然后将其过滤为1条记录,因此您只能在应用程序中看到1条记录。
删除JOIN fetch子句以验证是否是这种情况。如果是这样,您将需要查看为查询指定自定义countQuery(这实际上将镜像您的主查询,但只是返回计数):