在我的应用程序中,我有类别ID的列表。现在,我想从数据库中基于产品类别获取产品,该产品类别将包含在该列表中,还包含诸如“ XYZ”之类的产品名称。如何使用IN子句来实现此目的。有没有人有任何想法我通过传递尝试了这个但我得到了空列表
我的代码是:
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具有所有类别。
我已经解决了我的问题。
这是代码:
Object[] cids=final_cats.toArray(); String cds=""; for(Object o:cids) { cds=cds+o+","; } cds=cds.substring(0, cds.length()-1); 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);