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

时间:2015-07-30 10:00:28

标签: mysql hibernate

我在项目中要求从表中选择超过6500条记录。 我使用过select * from tablename where id in (:list)。 但我收到stack overflow错误。

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

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

任何人都可以帮助我。

提前致谢

1 个答案:

答案 0 :(得分:-1)

setMaxResult()不支持使用LIMIT sinice hql

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