2012-12-21 67 views
4

我發現這個Hibernate Criteria/Projection tutorial清晰,簡潔,內容翔實。查詢的Hibernate代碼

筆者,APRajshekhar說,

SELECT COUNT(ID) FROM ORDER HAVING PRICETOTAL>2000 GROUP BY ID 

可以在條件查詢被重寫如下:

List orders = session.createCriteria(Order.class) 
    .setProjection(Projections.projectionList() 
     .add(Projections.count(「id」)) 
     .add(Projections.groupProperty(「id」)) 
    ) 
     .list(); 

然而,哪裏的HAVING PRICETOTAL>2000在Hibernate中露面碼?這個比較是否存在缺失標準(SQL中的where子句)?

回答

5

是的。您還需要:

.add(Restrictions.gt("priceTotal", 2000)) 

假設在Order類的PRICETOTAL屬性的名稱確實是「priceTotal」

+0

「你是個好人,但更好的[海報。」 -Leonidas –

+0

Heheh。歡迎;) – ndtreviv