2012-11-22 5 views
8

Hiện tại truy vấn nhận được trong một reportID duy nhất để trả lại kết quả. Bây giờ nếu tôi muốn chuyển nhiều reportID và trả lại o/p chỉ trong 1 cuộc gọi đến DB, làm cách nào để thực hiện điều đó?Đặt mảng thông số thành ngôn ngữ truy vấn ngủ đông

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

Tôi đã cố chuyển qua dưới dạng arrayList nhưng không có may mắn. Chấn lỗi dưới đây

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

java.util.ArrayList không tương thích với java.lang.String

Trả lời

12

thử này một

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

nhờ một tấn! .. – dazzle

+0

làm thế nào để vượt qua String [] reportID như tham số – priyadarshini