Mysql 查询以获取HQL中超过6500条记录

Mysql 查询以获取HQL中超过6500条记录,mysql,hibernate,Mysql,Hibernate,我在项目中要求从表中选择6500多条记录。 我使用了select*fromtablename,其中id位于(:list)。 但是我得到了堆栈溢出错误 但是,如果id列表少于6500条记录,则形成的查询没有任何错误 另外,hibernate版本是3.3.ga,要求我不应该升级hibernate版本。 使用当前版本,我应该编写一个查询 谁能帮我一下吗 提前感谢您可以使用setMaxResult()siniceLIMIT不受hql String hql = "select * from tablena

我在项目中要求从表中选择6500多条记录。 我使用了
select*fromtablename,其中id位于(:list)
。 但是我得到了
堆栈溢出
错误

但是,如果id列表少于6500条记录,则形成的查询没有任何错误

另外,hibernate版本是
3.3.ga
,要求我不应该升级hibernate版本。 使用当前版本,我应该编写一个查询

谁能帮我一下吗


提前感谢

您可以使用
setMaxResult()
sinice
LIMIT
不受
hql

String hql = "select * from tablename where id in (:list)";
Query query = session.createQuery(hql);
query.setMaxResults(6500);
List results = query.list();

建议一个显而易见的问题:你能把查询分解成几个较小的查询吗?我还怀疑您的Java和HQL还存在其他问题,但您并没有给我们提供太多的帮助。