Dúvida createCriteria - hibernate

1 resposta
tiagolpadua

Se alguem puder me ajudar agradeco:
(sei que o texto esta confuso, mas nao consegui clarifica-lo mais que isso)

Criteria select = session.createCriteria(Operacao.class);            
select.createCriteria("status")
.createCriteria("modStatus")
.add(Expression.lt("id", new Integer(900)));

uma operacao possui muitos status, cada status relaciona-se a um modstatus que possui um codigo de 1 a 1000, se a operacao possuir um status que seu modstatus seja superior a 900 ela está finalizada, desta forma, cada operacao possui muitos status com modstatus de 1 a 900 e somente um superior a 900.

gostaria que o trecho acima selecionasse apenas as operacoes que somente possuem status com modstatus inferiores a 900, no entanto o que este createCriteria acima faz e retornar duplicadamente as operacoes que tenham status com modstatus inferiores a 900.

em hql seria:

select distinct o from com.bb.proinv.Operacao as o
join o.status as st join st.modStatus as ms where ms.id<900

1 Resposta

_fs

Group by?

Criado 13 de agosto de 2005
Ultima resposta 15 de ago. de 2005
Respostas 1
Participantes 2