I m on a project using EclipseLink 1.1, and I have a query where the obvious thing for me to do is use a Where-In clause, like so:
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);
This is, of course, a batch of fresh-brewed FAIL and at runtime will whine at me like this:
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 ....
Googling around indicates that EclipseLink 1.1 simply doesn t support dumping a list into a parameter like this; fair enough. How would people recommend working around this deficiency?