Fórum Uso do criteria #416813

15/05/2012

0

Boa noite!

Estou com a seguinte sitação.

Tenho uma classe pai chamada empenho dentro de empenho tenho um a tributo de classe chamada mapa e outra chamanda fornecedor e dentro de mapa eu tenho outro atributo de classe chamado pad.

Eu tenho que fazer uma consulta que me traga todos os empenhos com os possiveis parametros:


data inico(Atributo da classe Mapa)
data final(Atributo da classe Mapa)
cnpj(Atributo da classe Fornecedor)
numero pad(Atributo da classe Pad)

Não conheço muito bem o criteria, sera que algem pode me dar uma luz
Ismael Oliveira

Ismael Oliveira

Responder

Posts

15/05/2012

Davi Costa

é só usar um subcriteria para os atributos que não são diretos da classe, se quizer posta seu código que monta o criteria que ajudamos

att Davi
Responder

Gostei + 0

18/05/2012

Ismael Oliveira

Blz galera!

Consegui resolver da seginte forma:

Criteria criteria = novoCriteria();

criteria.createAlias(mapa, mapa);

criteria.add(Restrictions.between(mapa.inicioVigencia, entidade.getMapa().getInicioVigencia(), new Date()));


criteria.add(Restrictions.between(mapa.fimVigencia, new Date(), entidade.getMapa().getFimVigencia()));


criteria.createAlias(mapa.fornecedorVenedor, fornecedor);
criteria.add(Restrictions.eq(fornecedor.cnpj, entidade.getMapa().getFornecedorVenedor().getCnpj()));


criteria.createAlias(mapa.pad, pad);
criteria.add(Restrictions.eq(pad.codigoPad, entidade.getMapa().getPad().getCodigoPad()));


return consultar(criteria);

se alguém tiver alguma sugestão de melhoria será bem vindo.

Obrigado pela atenção!
Responder

Gostei + 0

18/05/2012

Davi Costa

Muito boa a iniciativa de postar sua solução.
Sucesso!

att Davi
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar