将参数数组设置为休眠查询语言

daz*_*zle 9 hibernate hql

目前,查询采用单个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();
Run Code Online (Sandbox Code Playgroud)

我尝试传递为arrayList但没有运气.得到以下错误

List<String> reportID= new ArrayList<String>();
    reportID.add("aaa");
    reportID.add("bbb");
Run Code Online (Sandbox Code Playgroud)

java.util.ArrayList与java.lang.String不兼容

raj*_*wat 13

试试这个

 query.setParameterList("reportID", new Object[]{"aaa","bbb"});
Run Code Online (Sandbox Code Playgroud)