我有一个严重的问题:我的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错误,那么它也会有所帮助!
非常感谢!
答案 0 :(得分:0)
必须升级到3.6.9。这个版本似乎处理参数列表中的10k +元素。