我正在使用hibernate 4.3.10,java 1.8和eclipse neon。 我一直在嘗試在我的代碼中執行以下語句。但java.lang.OutOfMemoryError:在選擇20萬行時在休眠時Java堆空間
java.lang.OutOfMemoryError: Java heap space
在幾分鐘後第二行拋出。
Query query = mySqlSession.createSQLQuery("select * from hops where processed is null");
List<Object[]> lis=query.list();
問題是此查詢返回約200k結果導致問題。我推薦 How to deal with "java.lang.OutOfMemoryError: Java heap space" error (64MB heap size)
從上面的鏈接閱讀解決方案後,我將內存更改爲2 GB。仍然存在問題。 有什麼建議嗎?
是否有可能不將200k記錄存入內存? – Pijotrek
請參閱https://stackoverflow.com/questions/33019211/do-query-loads-all-the-data-in-memory – rmlan
必須更改算法以僅使用當前記錄(當前:將所有記錄存入RAM)。順便說一句,爲什麼使用hibertate進行經典查詢? –