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!