0

私はこれらのテストクエリを持っています:

String query = "";    
Query criteria;
query = 
  "from Test t " +
  "where (:value is null OR t.id = :value)"; // update: (t.id = (:value))

criteria = session.createQuery(query);

if (.. some condition ..) {
  criteria.setParameter("value", 0);
}
else {
  criteria.setParameter("value", null);
}

パラメータのみを使用して where 条件id = 0(id = 0 or id = 1)(resp. id < 2)に変更する方法は?value

4

1 に答える 1

1

「where in」演算子を使用できます。次に、「値」がコレクションパラメーターになります。

Query criteria;
query = 
  "from Test t " +
  "where (t.id in (:value))";

criteria = session.createQuery(query);
criteria.setParameterList("value", Arrays.asList(0, 1));
于 2012-08-09T09:17:00.973 に答える