Hibernate(HQL)选择带有id列表的查询作为参数

时间:2017-11-13 16:38:40

标签: java hibernate

我必须要求通过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());
        }
    }

0 个答案:

没有答案