HQL类选择到DetachedCriteria(在大型ParameterList上的stackoverflow)

时间:2012-01-25 09:55:56

标签: java-ee hql hibernate-tools

我有一个严重的问题:我的HQL中的ParameterList变量有10k +元素,所以Hibernate无法使用它(stackoverflow),现在我试图将它转换为DetachedCriteria查询,但它&# 39;看起来像这样:

final StringBuffer hql = new StringBuffer(
        "SELECT new db.XXXTable(c.abc1, c.abc2, c.abc3, a.def1, a.def2, a.def3, a.def4, a.def5, a.def6, a.def7, a.def8) FROM def AS a, abc AS c WHERE a.def7 IN (:ids) AND a.def7 =c.abc1 AND a.def9 = TRUE ");

session = getSession();
final Query query = session.createQuery(hql.toString());

query.setParameterList("ids", importIdList);
result = query.list();

db.XXXTable有自己的构造函数。

我看到DetachedCriteria查询可以处理这个问题,但是我无法解决这个问题,如何在这个问题上使用它(从两个表到一个独特的类选择......)

但如果有人知道如何解决stackoverflow错误,那么它也会有所帮助!

非常感谢!

1 个答案:

答案 0 :(得分:0)

必须升级到3.6.9。这个版本似乎处理参数列表中的10k +元素。