Criteria + ManyToMany

1 resposta
Nykolas_Lima

Tenho:
Entidade Montadora que possui N Carros.
Entidade Carro que possui N Montadoras.

Gostaria de fazer um criteria para buscar todos os Carros de uma Montadora.

Tentei o seguinte:

sess.createCriteria(Carro.class)
    .createAlias("montadoras", "m")
    .add( Restrictions.eq("m.id", idMontadora) )

O problema é que desta maneira ele está trazendo as Montadoras como resultado, formando uma tupla.
Como eu posso fazer para que somente os Carros sejam retornados?

Abraços

1 Resposta

romarcio

Da uma testada nesse código abaixo:

List cars = getSession().createCriteria(Carro.class)
                .createCriteria("montadoras", "m")
                .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
                .list();

        Iterator iter = cars.iterator();

        while (iter.hasNext()) {
            Map map = (Map) iter.next();
            Montadora m = (Montadora) map.get("m");
            System.out.println(m.toString());
        }
Criado 16 de março de 2012
Ultima resposta 16 de mar. de 2012
Respostas 1
Participantes 2