将SQL转换为Hibernate Criteria

时间:2014-06-10 00:31:46

标签: java hibernate hibernate-criteria

我是Hibernate的新手,所以我很难转换我的SQL请求。 我有以下SQL请求:

SELECT product_name, sum(quantity)
FROM final_product
JOIN customer_order_entry ON final_product.final_product_id = customer_order_entry.final_product_id
JOIN customer_order ON customer_order_entry.customer_order_id = customer_order.customer_order_id
JOIN customer ON customer_order.customer_id = customer.customer_id
JOIN salesman ON customer.salesman_id = salesman.salesman_id
WHERE salesman.salesman_id = '1'
GROUP BY final_product.final_product_id 
LIMIT 3;

我希望hibernate标准具有相同的结果。 但我不知道如何指定我只想要两行作为结果。 另外,我无法弄清楚如何恢复结果(由于我的加入&#34;,结果并不仅仅属于一个班级所以我不能把我的像我以前那样导致List<Classname>

就目前而言,我对此进行了编码:

session.createCriteria(FinalProduct.class)
        .add(Projections.sum("quantity"))
            .setFetchMode("CustomerOrderEntry", FetchMode.JOIN)
        .setFetchMode("CustomerOrder", FetchMode.JOIN)
        .setFetchMode("Customer", FetchMode.JOIN)
        .setFetchMode("Salesman", FetchMode.JOIN)
        .add(Restrictions.eq("Salesman.salesmanId", new Integer(1))
        .add(Projections.groupProperty("FinalProduct.finalProductId"))
        c.setMaxResults(3);

拜托,你能给我任何线索吗?

0 个答案:

没有答案