我必须要求通过product_code从product表中获取产品信息。 所以,我必须在WHERE Clause IN的帮助下将product_code列表传递给我的select查询。
能够传递product_code的列表,但只返回一个产品信息(选择查询给出第一个product_code的结果)。
请在下面找到我遇到问题的代码。
public JSONArray getUpdatedProductDescription(List<String> product_code_list)
{
Collection<String> produceCollection=product_code_list;
List<String> code = null;
Configuration cfg=new Configuration();
cfg.configure("Hibernate.cfg.xml");
SessionFactory factory=cfg.buildSessionFactory();
Session session=factory.openSession();
Transaction t=session.beginTransaction();
String hql = "from Product where code in(:code)";
Query query = session.createQuery(hql);
query.setParameterList("code", produceCollection);
List<Product> listProducts = query.list();
for(Product prod : listProducts)
{
System.out.println("Product Details:::"+prod.getCode());
}
}