日期:2014-05-18  浏览次数:20611 次

关于hibernate数据查询的问题
List   all   =   thj03_dao.findEntity(Str_select);
Iterator   it   =   all.iterator();
while   ((it.hasNext())){  
        THJ03   thj03   =   (THJ03)it.next();
        ...........................要显示的字段...........
}

请问像hibernate这样的查询,查询数据量大的话会出现内存溢出,请问有办法解决咩



------解决方案--------------------
while ((it.hasNext())){
THJ03 thj03 = (THJ03)it.next();
...........................要显示的字段...........

加一行
thj03 = null;
}



------解决方案--------------------
减少查询量才行,比如分页:只查询当前页面显示的数据;一般来说应用中都不会是很大的查询结果;
如果业务需求不能更改,一定要查大量数据的话,可考虑直接用sql和加大虚拟机内存
------解决方案--------------------
同意楼上
------解决方案--------------------
第一种办法,采用索引分段处理。例如一次处理1000条,这样效率也高,执行速度会快很多。
第二,优化你的查询。尽量在查询中完成所有条件的过滤,保证取得的结果集是最小的。
------解决方案--------------------
优化查询比较好