Лучшие практики для создания предложения Where-In в EclipseLink 1.1 - PullRequest
2 голосов
/ 05 февраля 2010

Я нахожусь в проекте, использующем EclipseLink 1.1, и у меня есть запрос, в котором очевидная вещь для меня - это использование предложения Where-In, например:


      List<String> things = populateListOfThings(); 
      String queryString = " select s from Stuff s where s.thing in (:things) ";
      Query query = em.createQuery(queryString);
      query.setParameter("things", things);

Это, конечно, партия свежесваренного FAIL, и во время выполнения он будет скулить на меня так:

java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.ArrayList for parameter things with expected type of class java.lang.String from query string ....

Поиск в Google указывает, что EclipseLink 1.1 просто не поддерживает вывод списка в такой параметр, как этот; справедливо. Как бы люди порекомендовали обойти этот недостаток?

...