2012-01-25 36 views
1

我有一個嚴重的問題:我的HQL中的ParameterList變量有10k +元素,所以Hibernate無法使用它(stackoverflow),現在我試圖轉換它變成DetachedCriteria查詢,但它看起來像這樣:HQL類選擇DetachedCriteria(stackoverflow過大的ParameterList)

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

沒有......? :(( – VORiAND

回答

0

只好升級到3.6.9。這個版本似乎處理parameterList中的10k +元素。