2012-11-22 6 views
8

Attualmente la query accetta un unico ID di report per restituire i risultati. Ora se voglio passare più reportID e restituire l'o/p in una sola chiamata al DB, come faccio?Imposta matrice di parametri per il linguaggio di interrogazione di sospensione

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(); 

Ho provato a passare come elenco di array ma senza fortuna. Ottenuto l'errore sotto

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

java.util.ArrayList incompatibile con java.lang.String

risposta

12

provare questo

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

grazie una tonnellata! .. – dazzle

+0

come passare String [] ReportID come parametro – priyadarshini

Problemi correlati