Ajuda em Consulta Criteria  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

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:


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.

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

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.

Então você deveria agrupar por lote, e não por pregão.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Bruno.
Eu nao tenho uma relacao direta entre proposta e lote, por isso que nao posso fazer esse agrupamento.
Ele me retorna o menor lance geral, ao inves de se retornar o menor lance por cada lote de cada proposta.

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Ah certo.

Que código você está usando p/ realizar o join entre essas duas tabelas distintas?

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Eu criei um SQL e deu certo, mas queria usar criteria e nao SQL nativo. Veja a SQL:


Ele me retornou :
idProposta --- idPregao ---- menorLance ---- idLote
1 ---------------- 1 ----------------- 29 -------------- 1
1 ---------------- 1 ----------------- 44 -------------- 2

Ela me retorna o menor lance de cada lote com a proposta e o pregao.

OBS: Desculpe mas nao consegui identar certinho essa resposta..

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Você precisa da tabela de pregão? Se precisar só do id dele, você pode pegar o de proposta.idPregao.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Tudo bem. Como ficaria a Criteria entao?
Como eu dou um join entre entidades aninhadas? Tipo assim :


O hibernate retorna erro porque ele diz que a entidade Proposta nao tem o bean lote, mas a entidade Lance contem lote.
Pela Criteria é possivel aninhar Proposta com Lance e Lance com Lote?


omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team