ibatis 映射结果集的数量大小限制?
Arias 2006-03-10 11:28:45 映射表 :
<resultMap id="abc" class="java.util.HashMap">
<result property="a" column="a" />
<result property="b" column="b" />
<result property="c" column="c" />
</resultMap>
<statement id="query" resultMap="abc">
.... (sql语句)
</statement>
(ArrayList)getSqlMapClientTemplate().queryForList("query", hMap));
不知道这个返回的list对象的大小是否有限制 ? 现在我根据条件,查询在数量达到100000时候,居然报 这样的错误 :
Caused by: com.ibatis.common.beans.ProbeException: Could not set property 'Time' for java.util.HashMap. Cause: java.lang.OutOfMemoryError
Caused by: java.lang.OutOfMemoryError
at com.ibatis.common.beans.ComplexBeanProbe.setProperty(ComplexBeanProbe.java:353)
at com.ibatis.common.beans.ComplexBeanProbe.setObject(ComplexBeanProbe.java:233)
at com.ibatis.common.beans.GenericProbe.setObject(GenericProbe.java:73)
at com.ibatis.sqlmap.engine.exchange.ComplexDataExchange.setData(ComplexDataExchange.java:87)
at com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectValues(BasicResultMap.java:325)
at com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResultObject(RowHandlerCallback.java:63)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:364)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:184)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:201)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:169)
... 49 more
Caused by: java.lang.OutOfMemoryError
这是为什么呀?? 难道返回置入List对象的大小有什么默认的限制设定 ?? 希望有经验的人指点一下!! 谢谢!