透過Hibernate進行欄位中的資料計算,在JDBC中,就使用SQL的sum等方法,而在使用Hibernate中,需要使用Projections的物件.
首先介紹一下Projections:
org.hibernate.criterion.Projections是Projection 的實例工廠,我們透過呼叫setProjection()應用Projections物件進行一個查詢.
下面開始操作:
同樣需要創建Criteria物件,這物件非常重要,幾乎完成了Hibernate中大多的查詢功能,配合HQL使用,相應厲害.
Java程式碼
Criteria criteria = session.createCriteria(AccCasherDaySupply.class);
Criteria criteria = session.createCriteria(AccCasherDaySupply.class);
透過Session建立Criteria物件,參數為你要查詢的物件類別名稱(這裡註意區分大小寫).
透過Criteria物件可以使用setProjection的方法,該方法將進行一個Projections的查詢.
Java程式碼
criteria.setProjection(****);
criteria.setProjection(****);
接下來就是進行真正的聚合操作部分了,使用Projections物件插入到****的參數中.
Projects物件具有大多聚合的方法,基本上有:rowCount(),avg(),max(),groupProperty(),alias(),property(),sum()...
以sum()為例,如果需要計算某個欄位資料的合,將使用sum()方法:
Java程式碼
criteria.setProjection(Projections.sum("字段名稱"));
criteria.setProjection(Projections.sum("字段名稱"));
透過以上程式碼,criteria將得到對應欄位名的合.
最後透過criteria.list()得到Projections查詢的最終結果.
本文出自CSDN博客,轉載請標示出處:http: //blog.csdn.net/lyr1985/archive/2009/12/30/5105409.aspx
-