[Resolvido]Como utilizar o with do HQL na Criteria

3 respostas
N

Olá Pessoal,

to quebrando a cabeça com isso, veja só.

No HQL

From Fabricante f left join f.carro c with c.cor = “Azul”

SQL Gerado será assim:

SELECT f.* FROM t_fabricante f LEFT JOIN t_carro c ON f.cod_fabricante_id = c.cod_fabricante_id and c.dsc_cor = “Azul”

Até aqui tudo ok, com HQL vai blz, mas como fazer isso com Criteria? eu não consigo incluir essa parte " and c.dsc_cor = “Azul”
" no Criteria, alguem sabe como?

Obrigado.

3 Respostas

romarcio

Posta ai a consulta em criteria que você já montou.

N

Olá amigo,

Eu utilizei isso como exemplo, pq a minha consulta real é bem mais complexa, a minha dificuldade mesmo é pra adicionar um " AND " no join da Criteria

Com esse exemplo ficaria assim:

DetachedCriteria criteria = DetachedCriteria.forClass(Fabricante.class, “f”);
criteria.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY);

criteria.createAlias(“f.carro”, “c”, Criteria.LEFT_JOIN);
listByCriteria(criteria);

N

Olá pessoa,

Resolvi o problema da seguinte maneira:

Hibernate 3.5.xxx foi adicionada mais uma assinatura createAlias, essa agora com 4 parametros. No último parametro vc pode adicionar um Criterion, no meu caso utilizei um Restrictions.eq, com isso ele agora gera o AND no join

Obrigado a todos

Criado 17 de junho de 2011
Ultima resposta 22 de jun. de 2011
Respostas 3
Participantes 2