在我的應用程序中,我有類別ids的列表。現在我想從基於產品類別的數據庫中獲取產品,該產品類別將包含在該列表中,還有產品名稱,如「XYZ」。How How可以通過使用IN子句來實現這一點。 是任何人有任何想法,我通過傳遞方式試過,但我得到空單將對象[]傳遞給sql查詢
我的代碼是:
Object[] cids=final_cats.toArray();
String cds=final_cats.toString();
String query="select fpd from FTextProductDetails ftpd inner join ftpd.fProductDetails fpd WHERE fpd.categoryId in("+cds+")and ftpd.productName like ?" ;
Object[] values=new Object[]{'%'+productName+'%'};
List<Object[]> list=HibernatePaginationImpl.findProductsByName(query, values,pageSizeLimit , pageNumber,this.baseDao);
這裏final_cats擁有的所有類別。
既然你似乎是使用Hibernate,你可以使用Hibernate條件查詢(http://docs.jboss.org/hibernate/orm/3.3/reference/en/ html/querycriteria.html)並使用'Restrictions.in'(http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/criterion/Restrictions.html) –
謝謝Mr.David.Here我編寫定製的類HibernatePaginationImpl,它將具有接受查詢的靜態方法,所以我需要傳遞查詢並限制使用條件。 – user3354457
好的,如果你需要SQL,你可以建立'PreparedStatement'出來,那麼你真的需要在你的SQL中有大量'''標記。由於CuE已經給你一個使用該技術的答案,所以我不打擾。我希望你能做到這一點。祝你好運。 –