[Resolvido]Distinct com hibernate

Como faço para fazer uma pesquisa com criteria com a clausula distinct onde meu resultado será uma lista de objetos?
Tentei fazer mas não retornava os objetos e sim a quantidade de objetos.
Usei Projections.distinct.

Session session = (Session) em.getDelegate();
Criteria criteria = session.createCriteria(GrupoPoder.class);
		
criteria.setFirstResult(frstRes);
criteria.setMaxResults(maxRes);
criteria.setProjection(Projections.projectionList().
add(Projections.distinct(Projections.property("id"))));
		
criteria.createCriteria("poderes", "poder").add(Expression.like("chave", chave+"%").ignoreCase());

Eu preciso que a consulta acima retorne uma lista de objetos GrupoPoder.

Tentou assim:

Session session = (Session) em.getDelegate();
Criteria criteria = session.createCriteria(GrupoPoder.class);
		
criteria.setFirstResult(frstRes);
criteria.setMaxResults(maxRes);
criteria.setProjection( Projections.distinct( Projections.property( "id" ) ) );		
criteria.createCriteria("poderes", "poder").add(Expression.like("chave", chave+"%").ignoreCase());

Foi resolvido da seguinte forma.

		Session session = (Session) em.getDelegate();
		Criteria criteria = session.createCriteria(GrupoPoder.class);
		criteria.createCriteria("poderes", "poder").add(Expression.like("chave", chave+"%").ignoreCase());
		criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
		criteria.setFirstResult(frstRes);
		criteria.setMaxResults(maxRes);
		return criteria.list();