我有一個方法來從數據庫中獲取對象的負載,它返回一個Iterable
。Chunking一個迭代
現在,我從數據庫加載結果集,從中構建對象並用這些對象填充集合。
顯然,我的內存限制了可以使用這種方法加載多少數據,並且如果我耗盡了壞事情發生。
我想修改實現來從數據庫中分塊數據,而不是一次全部獲取數據,然後通過Iterable
接口將產生的對象公開給客戶端。我的數據庫驅動程序可以做到這一點,所以我的第一個想法是這樣做的自定義實現Iterable
。
這是一個很好的方法嗎?它引起了我在運行時或庫中可能已經支持的一些東西 - 不涉及ORM解決方案。
是否有你想要實現'Iterable'而不僅僅是'Iterator'的原因?後者可能會更容易,因爲您不必添加重新啓動迭代的功能。 –
好點 - 根本沒有理由 – Brabster