[Hibernate] Retornando uma entidade via Criteria

Pessoal,

Ao utilizar o Criteria, sempre que preciso criar joins na consulta, uso o createCriteria ou createAlias. No entanto, ao fazer isso, o Hibernate automaticamente traz todos os campos das entidades envolvidas já carregados. Exemplo (Produto e Marca):

Criteria crit = createCriteria( Produto.class, "prod" ); crit.createAlias( "prod.marca", "mapr" ); crit.add( Restrictions.eq( "mapr.nome", "GUJ" ) ); List< Produto > list = crit.list();
Dessa forma, o select conteria todos os campos tanto da entidade Produto quanto da entidade Marca. Mas quero que ele me retorne apenas o Produto! Como faço isso? Em HQL, eu poderia fazer o seguinte:

Obs.: não posso utilizar Projections, visto que tenho em torno de 30 atributos por entidade.
Aguardo ideias. Obrigado!

Poxa vida, nem ao menos uma ideia?

Já tentei utilizar crit.setResultTransformer( Transformers.aliasToBean( Produto.class ) ); mas não daí o Hibernate acusou não existir nesta entidade os atributos da marca.

Não tenho ideias do que fazer.