我有一种从数据库中获取对象负载的方法,该方法返回一个Iterable
.
现在,我正在从数据库加载结果集,从中构建对象并使用这些对象填充集合。
显然,我的内存受限于使用这种方法可以加载多少数据以及如果我用完了坏事发生。
我想将实现修改为从数据库中分块数据,而不是一次获取所有数据,然后通过Iterable
接口将结果对象公开给客户端。我的数据库驱动程序可以尽其所能,所以我的第一个想法是这样做的自定义实现Iterable
。
这是一个好方法吗?它让我觉得运行时或库中可能已经支持的东西 - 请不涉及 ORM 解决方案。