1

私は深刻な問題を抱えています:HQLのParameterList変数には10k以上の要素があるため、Hibernateはそれを処理できません(stackoverflow)。今はそれをDetachedCriteriaクエリに変換しようとしていますが、次のようになります。

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クエリでこれを処理できる可能性があることはわかりましたが、これをどのように使用するか(2つのテーブルから一意のクラス選択に...)がわかりません。

しかし、誰かがスタックオーバーフローエラーを解決する方法を知っているなら、それも役に立ちます!

どうもありがとうございます!

4

1 に答える 1

0

3.6.9にアップグレードする必要がありました。このバージョンは、parameterList内の10k以上の要素を処理するようです。

于 2012-02-01T08:25:34.443 に答える