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.
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.
J
JeffersonJCosta
Tirei os sinais de percent porem continuo tendo o mesmo problema
Ficou assim:
Sera que o problema esta nesse metodo ValidarSenha??
Soh me aparece o erro quando tento logar com o login jefferson ou jefferson12
T
tiozao_bp
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” "
J
JeffersonJCosta
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
lalbertorj
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!
J
JeffersonJCosta
Eu já removi e nao funcionou.
Ficou assim: Restrictions.eq("login", login);
jcmird
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,
J
JeffersonJCosta
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
J
JeffersonJCosta
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?