Bom eu tenho a query abaixo que agrupa a quantidade de cursos por turno. Porém eu não encontrei uma maneira limpa de tratar o retorno dela.
Peguei uma lista e iterei, porém não consigo fazer o cast para turno nem para curso, como faço isso?
List resultados = (List) sessao.createCriteria(Curso.class, "cur")
.createAlias("turno", "trn")
.setProjection( Projections.projectionList()
.add( Projections.rowCount() )
.add( Projections.groupProperty("trn.id") )
.add( Projections.property("trn.nome") ) )
.list();
Iterator it = resultados.iterator();
while(it.hasNext())
{
Object[] c = (Object[]) it.next();
System.out.println(c[0]);
System.out.println(c[2]);
}
Gostaria de saber também, como eu faço para limitar a quantidade de campos que eu quero que a query traga, exemplo, curso tem um monte de campos, mais eu só quero id e nome, como eu faço para limitar? tem que adicionar propertys?
Grato,
Thiago
