2

Javaを使用して、Hibernate。

質問があります

String pixIds = "1,2,3";
String query = "SELECT * FROM comment WHERE PIX_ID IN (:pixIds)";
q.setParameter("pixIds", pixIds);
List<Object[]> results =  q.getResultList();

上記のコードを使用して、このパラメーターをpixIdsにバインドすることはできません。これを行う正しい方法は何ですか?

注:ここにあるクエリは、実際のクエリを簡略化したものです。

4

2 に答える 2

6

次のメソッドは機能
しますpublicQuerysetParameterList(String name、Collection vals)throws HibernateException

于 2012-07-18T04:37:00.240 に答える
4

IN (...)Hibernateは、SQLクエリでのコレクションのバインドをサポートしていません。

プレーンJDBCの場合と同じように作業する必要があります。コレクションを指定し、句に適切な数の?sを使用してクエリを動的に生成しIN、そのコレクションの要素を?sにバインドします。

于 2011-02-02T18:35:28.123 に答える