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对象的大小有什么默认的限制设定 ?? 希望有经验的人指点一下!! 谢谢!
...全文
394 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
javalin3012 2006-03-13
  • 打赏
  • 举报
回复
up
rickhunterchen 2006-03-11
  • 打赏
  • 举报
回复
这应该是HashMap初始化过大,导致超过了容器初始化最大值的原因。
开发者开聊 2006-03-10
  • 打赏
  • 举报
回复
OutOfMemoryError

应该是你JavaVM内存的限制巴?
topirol 2006-03-10
  • 打赏
  • 举报
回复
记得好像有一个(ArrayList)getSqlMapClientTemplate().queryForList("query", hMap,start,size));的这样可以分批取出
Saro 2006-03-10
  • 打赏
  • 举报
回复
java.lang.OutOfMemoryError

你把太多的对象放到List中(内存中)了。
javalin3012 2006-03-10
  • 打赏
  • 举报
回复
是不是查询有关联,引发那个“N+1”BUG了?
悠云guo 2006-03-10
  • 打赏
  • 举报
回复
没取过这么多数据,关注一下

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧