Hibernate - join e distinct/unique

0 respostas
R

Pessoal,

Preciso de ajuda, e não estou encontrando solução…

Tenho uma tabela de Pedidos e uma tabela de itens de pedidos.

A classe em resumo eh:

public class Pedido {

String descricao;

Set itens;

}
public class Item {

String descricao;

}

Preciso fazer uma consulta que recupere os Pedidos contendo uma dada descrição.
No entanto o Item também possui descrição e é preciso fazer a consulta nos itens também.
Se um pedido possuir dois itens, e os dois possuirem a descricao dada, o Pedido deverá ser retornado apenas uma vez.

Eu fiz o seguinte:

Criteria crit = session.createCriteria(Pedido.class);

crit.createAlias(“itens”, “item”);

Criterion pedidoDescCrit = Restrictions.like(“descricao”, “%” + descStr +  “%”);

Criterion itemDescCrit = Restrictions.like(“item.descricao”, “%” + descStr +  “%”);

LogicalExpression orExp = Restrictions.or(pedidoDescCrit, itemDescCrit);

crit.add(orExp);

Mas ela nao retorna quando a descrição está no Pedido, e retorna n vezes quando a descrição se repete nos Itens.

Alguém tem uma dica?
Obrigado!

ps: hibernate 3 / java 6

Criado 23 de setembro de 2009
Respostas 0
Participantes 1