Hibernate Projections retorna Objetos errados?

Gente, seguinte, uso Hibernate 3, e tenho um método no DAO de uma de minhas classes, que faz o seguinte:

Criteria criteria = session.createCriteria(ProvaRealizada.class); criteria.add(Expression.eq("prova", prova)); criteria.setProjection(Projections.distinct(Projections.property("usuario"))); criteria.addOrder(Order.asc("pontuacao")); return criteria.list();

Essa classe ProvaRealizada contem uma lista de Provas e Usuarios que realizaram uma certa prova, e eu estou tentando buscar uma lista de ProvasRealizadas onde a Prova é passada:

criteria.add(Expression.eq("prova", prova));

Depois faço um Distinct para distinguir as provas por usuário:

criteria.setProjection(Projections.distinct(Projections.property("usuario")));

Só que o Hibernate me retorna uma lista de Objetos Usuario ao invés de Objetos ProvaRealizada, que é o que eu preciso…

Estou fazendo algo errado ai no código? Ou existe outra maneira de fazer isso que eu estou querendo ?

Tente assim:

Esse método acaba retornando a mesma coisa…

Eu acabei deixando isso de lado e usei uma query HQL mesmo, to sem tempo pra essas palhaçadas do Hibernate… :roll:

Mas se alguém tiver algum método mais “correto”, favor demonstrar… :wink: