有解决过hibernate in查询报栈溢出的大神么?
项目使用的是ssh框架,同时hibernate版本是3.2.5 ga,查过各种资料都说是版本太低导致
StackOverflowError错误,但是该错误在3.2.x版本后就已经解决了,为何我这里还是会报该问题的错误。
有遇到过的大神么
------解决方案--------------------不一定是版本问题,StackOverflowError也可能是数据量大导致的,我save的时候遇到过一次。
------解决方案--------------------用jdbc就好了
------解决方案--------------------
框架并没有限制in的参数数量,但是数据库是有限制的,当你in后面的参数非常多(数以千计)的时候,数据库会耗尽资源,无法生成查询。你in里面这么多参数你可以用子查询来优化啊。
------解决方案--------------------
不一定是版本问题,StackOverflowError也可能是数据量大导致的,我save的时候遇到过一次。
我这里就是每当id这个参数list长度超过9000以上时就会报这个错误。
框架并没有限制in的参数数量,但是数据库是有限制的,当你in后面的参数非常多(数以千计)的时候,数据库会耗尽资源,无法生成查询。你in里面这么多参数你可以用子查询来优化啊。
唉 主要因为一些原因 导致 子查询速度比较慢。。
子查询速度慢就应该想办法去优化,子查询速度较慢的情况下不要使用in用exists替代