Hibernate - join e distinct/unique

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