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:
dúvida hibernate 3
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
27/06/2007 19:33:19
Assunto:
dúvida hibernate 3
lmprates
JavaChild
Membro desde: 18/08/2006 11:43:29
Mensagens: 127
Localização: Porto Alegre - RS
Offline
Olá Pessoal,
Tenho uma dúvida de como buscar o resulta de um HQL no hibernate?
estou utilizando o código:
Usuario user = (Usuario) session.createQuery("from modelo.Usuario where nome = '"+ u.getUsuario() + "' and senha = '" + u.getSenha() + "'").iterate().next() ; return user.getId();
porém está retornando o seguinte erro;
exception javax.servlet.ServletException: java.util.NoSuchElementException: No more results org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) root cause java.util.NoSuchElementException: No more results org.hibernate.impl.IteratorImpl.next(IteratorImpl.java:117) hibernate.dao.UsuarioDAO.login(UsuarioDAO.java:57) br.com.kurotel.action.Login.execute(Login.java:20)
O que estou fazendo errado?
desde já agradeço qualquer ajuda.
------
Leonardo Prates
Bacharel em Sistemas de Informação
Sun Certified Java Associate
27/06/2007 20:33:34
Assunto:
Re:dúvida hibernate 3
ualex
JavaGuru
Membro desde: 26/08/2004 18:45:26
Mensagens: 229
Offline
Usuario user = (Usuario) session.createQuery("from modelo.Usuario where nome = '"+ u.getUsuario() + "' and senha = '" + u.getSenha() + "'").iterate().next() ; return user.getId();
é melhor antes de vc dar next verificar se existe o next
Iterator it = session.createQuery("from modelo.Usuario where nome = '"+ u.getUsuario() + "' and senha = '" + u.getSenha() + "'").iterate(); int id = 0; if(it.hasNext()) { Usuario user = (Usuario) it.next(); id = user.getId(); } return id;
agora vc já conferiu o usuario e senha , se esta cadastrado na base de dados ?
http://www.alexflorentino.com
27/06/2007 21:25:29
Assunto:
Re:dúvida hibernate 3
Paulo Silveira
Administrador
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
sua query nao ta tendo resultado. a size da List retornada pelo metodo list() da interface Query tem size() == 0; confira.
Quando precisa fazer isso, use query.uniqueResult()... ele da uma exception se o tamanho do resultado for diferente de 1.
http://blog.caelum.com.br
twitter: @paulo_caelum
27/06/2007 22:16:25
Assunto:
Re:dúvida hibernate 3
victorcosta
JavaGuru
Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline
Outra coisa, é recomendado q você não faça concatenação de strings na sua query
Faça assim:
Query q = session.createQuery("from modelo.Usuario where nome = :nome and senha = :senha") .setString("nome", u.getUsuario()) .setString("senha", u.getSenha()); User user = (User) q.uniqueResult(); if (user != null) { // Encontrou um usuario no bd return user.getId(); } else { // O tratamento que você quiser }
Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/
Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/
Índice dos Fóruns
»
Desenvolvimento Web
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