我正在使用查询生成器在休眠状态下创建查询语句。我需要为in语句传递arrayList。如何才能做到这一点。
虚拟代码:

List<String> xyz = new ArrayList<String>("sam","tam","vam");
StringBuilder queryBuilder = new StringBuilder("select abc from tem where xyz in :xyzList");
Query query = entityManager.createNativeQuery(queryBuilder.toString());
query.setParameter("xyzList", xyz);
query.getResultList();


这是行不通的。它引发异常。有人可以指出我该怎么做。

最佳答案

使用setParameterList("xyzList", new String []{"a","b","c"});

因此,如果您拥有列表,则可以使用list.toArray()代替新的String []{"a","b","c"}

10-05 22:11