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

时间:2012-11-22 11:45:41

标签: 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();

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

List<String> reportID= new ArrayList<String>();
    reportID.add("aaa");
    reportID.add("bbb");

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

1 个答案:

答案 0 :(得分:13)

尝试这个

 query.setParameterList("reportID", new Object[]{"aaa","bbb"});