| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 16:33:47
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Pessoal,
Estou com um problema na hora de validar meu login aqui, estou usadno o seguinte metodo:
O problema é que se eu tiver um usuario com o login teste e o outro com o login teste2, eu obtenho a seguinte mensagem de erro:
javax.servlet.ServletException: org.hibernate.NonUniqueResultException: query did not return a unique result: 2
Tentei colocar os sinais de percent antes do atributo login, como mostrado acima, para ficar parecido com SQL (like %login%) e com isso me trazer apenas do banco o que bate exatamente com o diigtado, mas nao foi, como sou novo com hibernate _ criteria, queria a ajuda de voces.
Desde ja agradeço.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 16:37:29
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Cara....
Acredito que se voce remover os wildcards no like deva funcionar
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 16:47:39
|
tiozao_bp
Entusiasta Java
Membro desde: 31/07/2007 15:20:05
Mensagens: 19
Offline
|
login deve ser unico, entao não faz sentido ter esses "%" na consulta pois com esses "%" vc podera receber mais de um registro pela busca
E ter essa exception que vc recebeu.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 17:35:39
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Tirei os sinais de percent porem continuo tendo o mesmo problema
Ficou assim:
LoginAction:
UsuarioDao.VerificarSenha
Sera que o problema esta nesse metodo ValidarSenha??
Soh me aparece o erro quando tento logar com o login jefferson ou jefferson12
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 17:40:06
|
tiozao_bp
Entusiasta Java
Membro desde: 31/07/2007 15:20:05
Mensagens: 19
Offline
|
como eu mensionei anteriormente o login deveria ser unico com isso a busca deveria utilizar a Restrictions.eq e não Restrictions.ilike
é diferente vc consultar com "... where campo = "xxx" " e "...where campo like "xxx" "
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 17:46:50
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Coloquei o Restrictions.eq("login", login); e nada, eu ja fazia assim, mas quando começou esse erro eu fiz um teste com ilike.
Muito estranho isso
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 18:20:41
|
lalbertorj
Smalltalk
![[Avatar]](/images/avatar/6753fff671f3d2bba50f11951245cf3a.jpg)
Membro desde: 03/03/2010 16:29:12
Mensagens: 4
Localização: Duque de Caxias - RJ
Offline
|
Camarada e o seguinte o seu HQL está retornando 2 linhas do banco ou seja
se você esta informando o login = teste
% teste % o banco vai pegar tudo o que tem a palavra teste
remova o %
Vlw!
|
GoogleTalk : lalbertorj@gmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 21:57:26
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Eu já removi e nao funcionou.
Ficou assim:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2010 22:04:03
|
jcmird
JavaGuru
![[Avatar]](/images/avatar/be7c20a83fb93c62352414aa58e525c2.jpg)
Membro desde: 21/08/2007 01:43:38
Mensagens: 244
Offline
|
Desconfio que exista dois login teste na sua tabela. O campo login é primary key? Faz um select * from tabela where login="teste", só para ver quantos registros são retornados.
Abraços,
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2010 09:24:24
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Nao tem dois login teste nao, toda vez antes de salvar um novo usuario eu verifico se existe o login no Bd ou nao, estranho que aqui no PC do trabalho funcionou, aqui tenho o login jefferson, jefferson2 e jefferson26 e funcionou, o problema esta acontecendo quando rodo o mesmo projeto no PC de casa, mas as configurações estao iguais nos dois computadores, vou fazer mais teste e vejo o resultado
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2010 09:59:28
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Pessoal, falei errado. O que está acontecendo é isso: se eu digitar jefferson1 e jefferson26 funciona, mas se eu digitar só jefferson, me retorna erro, dizendo que a query nao retornou um unico resultado, retorna 3
O que pode ser?
Meu ValidarLogin esta assim:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2010 14:41:24
|
JeffersonJCosta
JavaEvangelist
Membro desde: 20/12/2007 13:38:59
Mensagens: 318
Offline
|
Alguem sabe o que posso fazer para nao ter mais esse problema?
|
|
|
 |
|
|