2011-11-01 10 views
0

我有一些Hibernate實體,我想通過paramType進行分組並顯示參數類型。這裏是controller.getAnalyticsCount()方法:獲取Hibernate條件查詢中的對象數以在JSF中顯示

public List<Analytic> getAnalyticCount() { 
    Criteria criteria = currentSession().createCriteria(Analytic.class); 
    return criteria.setProjection(Projections.projectionList() 
             .add(Projections.rowCount()) 
             .add(Projections.groupProperty("paramType")).list(); 
} 

現在,在顯示在JSF,以下的作品,但每張照片的對象:

<ui:repeat var="foo" value="#{controller.getAnalyticsCount()}"> 
    #{foo} 
</ui:repeat> 

如何打印實際計數?是不是按對象分組的其他領域對我來說?我也嘗試過.add(Projections.rowCount(),'counts')和#{foo.counts}`。 documentation在這方面似乎很輕。

PS:實際上,返回類型可能是原因,但在這種情況下返回類型究竟是什麼,它不再是List<Analytic>類型。

+0

顯示我們的方法getAnalyticsCount的代碼。 –

+0

OK,我已經加入了法的返回線路和類型,我懷疑這個問題然後是返回類型。實際上它比這更長,我還有一些額外的標準,但我相信這些線是無關緊要的。 – ustun

回答

1

此條件查詢不會返回分析的實例。它會返回一個列表Object[]。每個Object[]在列表中包含兩個元素:。

  1. 計數,作爲一個整數或長(它最近已改變我投來號碼,並要求其int值是安全
  2. 的paramType

你當然應該從Object []這雙牀創建bean實例的列表,並在您的視圖中使用這些bean。