當我嘗試獲取大約20,000條記錄並返回到ArrayList時,它會拋出java堆空間錯誤。當從數據庫提取記錄時發生java.lang.OutOfMemory錯誤
JdbcTemplate select = new JdbcTemplate(dataSource);
String SQL_SELECT_XML_IRP_ADDRESS = " SELECT * FROM "+ SCHEMA +".XML_ADDRESS "+
" WHERE FILE_NAME = ? ";
Object[] parameters=new Object[] {xmlFileName};
return (ArrayList<XmlAddressDto>) select.query(SQL_SELECT_XML_ADDRESS,
parameters,new XmAddressMapExt());
我們的數據庫是Oracle並使用oracle瘦驅動程序。
有沒有解決方案?我應該如何有效處理這個問題?
你真的需要弄個20,000個嗎?你需要什麼?什麼是功能要求?最終答案也可能取決於所使用的DB和JDBC驅動程序。發佈有關它的細節。 – BalusC 2010-03-19 13:26:43