GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Como eu faço com Hibernate?
Índice dos Fóruns
»
Ferramentas, Frameworks e Utilitários
Autor
Mensagem
29/05/2008 12:35:50
Assunto:
Como eu faço com Hibernate?
maurenginaldo
JavaEvangelist
Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline
Oi pessoal,
Tenho uma tabela com alunos e notas, quero fazer uma consulta retornando a maior, a menor e a média.
No SQL Server eu faria assim:
select max(nota) as Maxima, min(nota) as Minima, avg(nota) as Media from nota
Como faço essa consulta usando o hibernate
Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
29/05/2008 13:17:14
Assunto:
Re:Como eu faço com Hibernate?
rimarck
Entusiasta Java
Membro desde: 29/05/2008 12:06:04
Mensagens: 15
Localização: São Paulo / Goiânia
Offline
E ai blz? Bem vc pode fazer de duas formas:
1 - Usando o HQL mesmo do hibernate:
// Hql String hql = "SELECT max(nota) as Maxima, "; hql += " min(nota) as Minima, "; hql += " avg(nota) as Media "; hql += " FROM " + Nota.class.getSimpleName() + " "; // Executa Query query = sessao.createQuery(hql); Object[] valores = (Object[])query.list().get(0); Double maximo = (Double) valores[0]; Double minimo = (Double) valores[1]; Double media = (Double) valores[2]; System.err.println("Maximo = " + maximo + ", Minimo = " + minimo + ", Media = " + media);
2 - Usando o criteria:
// Cria criteria Criteria criteria = sessao.createCriteria(Nota.class); // Maximo criteria.setProjection(Projections.max("nota")); Double maximo = (Double) criteria.uniqueResult(); // Minimo criteria.setProjection(Projections.min("nota")); Double minimo = (Double) criteria.uniqueResult(); // Media criteria.setProjection(Projections.avg("nota")); Double media = (Double) criteria.uniqueResult(); System.err.println("Maximo = " + maximo + ", Minimo = " + minimo + ", Media = " + media);
This message was edited 1 time. Last update was at 29/05/2008 13:25:18
Rimarck Vieira de Carvalho Junior
29/05/2008 13:20:32
Assunto:
Re:Como eu faço com Hibernate?
maurenginaldo
JavaEvangelist
Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline
Blz Rimarck,
vou testar, valeu
Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
29/05/2008 13:28:03
Assunto:
Re:Como eu faço com Hibernate?
rimarck
Entusiasta Java
Membro desde: 29/05/2008 12:06:04
Mensagens: 15
Localização: São Paulo / Goiânia
Offline
Corrigi um negocim la, pq senao no hql vc faz tres vezes a chamada no banco....
De:
Query query = sessao.createQuery(hql); Double maximo = (Double) query.list().get(0); Double minimo = (Double) query.list().get(1); Double media = (Double) query.list().get(2);
Para:
Query query = sessao.createQuery(hql); Object[] valores = (Object[])query.list().get(0); Double maximo = (Double) valores[0]; Double minimo = (Double) valores[1]; Double media = (Double) valores[2];
Rimarck Vieira de Carvalho Junior
Índice dos Fóruns
»
Ferramentas, Frameworks e Utilitários
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team