Dúvida Consulta com Hibernate

3 respostas
A

Sou iniciante no hibernate e preciso mostrar o resultado da seguinte consulta no meu sistema:

select
vendedor.codigo,
vendedor.nome,
(select
SUM(vendas.totalliquido)
from
vendas
where vendas.vendedor_codigo = vendedor.codigo) as total_venda,
(select
SUM(comissoes.valorcomissao)
from
comissoes
where comissoes.vendedor_codigo = vendedor.codigo) as total_comissao
from
vendedor
order by
vendedor.nome

A minha dúvida é a seguinte: para cada consulta (complexa ou não) do meu sistema eu precisarei fazer o mapeamento OR para o resultado?

Usando o exemplo anterior eu teria q ter:

public class Consulta{

private int codigo;

private String nome;

private double total_venda;

private double total_comissao;
//getters e setters

}

e depois ter um DAO com um método de consulta me retornando uma lista de objetos do tipo Consulta?

Para sistemas grandes com inúmeras consultas gerenciais - e bem mais complexas do que esta de exemplo- vcs fazem isso? Há uma outra alternativa usando o hibernate?

Desde já agradeço.

3 Respostas

Paulo_Silveira

ola alex

Sempre e ideal retornar uma List. Facilita muito seu codigo, e a manutancao do mesmo.

Mas tem vezes que a quantidde de queries eh simplesmente enorme, em especial se voce permite consultas dinamicas. Ai tem de tomar cuidado com Object[], mas no final vai acbar usando ele, e algum tipo de displaytag lib para, via introspeccao, colocar esse resultado na tela com menos trabalho.

paulo

A

Paulo, obrigado pela resposta. Este é o meu caso, pois o sistema possuirá uma quantidade enorme de consultas dinâmicas. Inicialmente estou migrando a parte gerencial de um sistema desktop para web com java + flex + spring + hibernate. Já fiz outras consultas usando apenas o java + flex e foi bem mais simples para mostrar os resultados, porém agora pretendo usar o hibernate e surgiu esta dúvida.
Não entendi o “tomar cuidado com Object[]”. Vc tem algum exemplo sobre isso?

Desde já agradeço.

A

Paulo, vc tem algum exemplo ou algum artigo exemplificando isso?

Criado 19 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 3
Participantes 2