目前,查询会使用单个reportID来返回结果。现在,如果我想传递多个reportID并仅在1次调用DB中返回o / p,我该怎么做?
String queryText = "from com.abc.domain.bcd.Report report where report.reportID in :reportId";
Query query = SessionFactory.getCurrentSession().createQuery(queryText.toString());
query.setParameter("reportID", reportId);
query.list();
我尝试传递为arrayList但没有运气。得到以下错误
List<String> reportID= new ArrayList<String>();
reportID.add("aaa");
reportID.add("bbb");
java.util.ArrayList与java.lang.String不兼容
答案 0 :(得分:13)
尝试这个
query.setParameterList("reportID", new Object[]{"aaa","bbb"});