2011-11-01 19 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。