Ola pessoal, estou aqui denovo.
Eu tinha postado antes uma duvida a respeito de uma consulta em HQL obtive dicas para usar Criteria, mas, mesmo assim nao esta retornando o que eu preciso.
Tenho uma relacao de entities dessa forma:
Pregao x Proposta = one-to-many x many-to-one
Proposta x Lance = one-to-many x many-to-one
Lance x Lote = many-to-one
Tenho que efetuar uma consulta que me traga do banco a seguinte questao:
Todas pregoes com as propostas que tem seu menor lance em um lote. Ou seja eu tenho que efetuar um join entre a entidade Proposta com Pregao, Proposta com Lance, e Lance com Lote, aqui eu pego o menor valor do lance em seu lote. Tentei dessa form:
List<Proposta> listaProposta = session.createCriteria(Proposta.class)
.createAlias("pregao", "pregao")
.createAlias("lance", "lance")
.setProjection(Projections.projectionList()
.add(Projections.min("lance.valor"))
.add(Projections.groupProperty("pregao"))
.add(Projections.groupProperty("lance")))
.list();
Ela me retornou o menor valor do lance e o pregao. Tinha que retornar o menor valor do lance em cada lote, a entidade Lance dona desse lance, a entidade proposta detentora desse Lance e o Pregao que se encontra essa proposta. Desculpe pela insistencia mas tenho que entregar o sistema pronto do meu projeto de TCC da faculdade e o tempo esta bem curto.
Agradeco a ajuda e a compreensão de todos.