首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

有解决过hibernate in查询报栈溢出的大神么?该如何处理

2013-09-17 
有解决过hibernate in查询报栈溢出的大神么?项目使用的是ssh框架,同时hibernate版本是3.2.5 ga,查过各种资

有解决过hibernate in查询报栈溢出的大神么?
  项目使用的是ssh框架,同时hibernate版本是3.2.5 ga,查过各种资料都说是版本太低导致StackOverflowError错误,但是该错误在3.2.x版本后就已经解决了,为何我这里还是会报该问题的错误。
  有遇到过的大神么 hibernate 栈 溢出 in查询
[解决办法]
不一定是版本问题,StackOverflowError也可能是数据量大导致的,我save的时候遇到过一次。
[解决办法]
用jdbc就好了
[解决办法]

引用:
Quote: 引用:

不一定是版本问题,StackOverflowError也可能是数据量大导致的,我save的时候遇到过一次。

我这里就是每当id这个参数list长度超过9000以上时就会报这个错误。

框架并没有限制in的参数数量,但是数据库是有限制的,当你in后面的参数非常多(数以千计)的时候,数据库会耗尽资源,无法生成查询。你in里面这么多参数你可以用子查询来优化啊。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

不一定是版本问题,StackOverflowError也可能是数据量大导致的,我save的时候遇到过一次。

我这里就是每当id这个参数list长度超过9000以上时就会报这个错误。

框架并没有限制in的参数数量,但是数据库是有限制的,当你in后面的参数非常多(数以千计)的时候,数据库会耗尽资源,无法生成查询。你in里面这么多参数你可以用子查询来优化啊。

唉 主要因为一些原因 导致 子查询速度比较慢。。

子查询速度慢就应该想办法去优化,子查询速度较慢的情况下不要使用in用exists替代

热点排行