Stack Overflow em Português Asked by Cleiton Conceição on February 5, 2021
ALGUÉM SABE DIZER O QUE EU ESTOU FAZENDO DE ERRADO?
public List<Usuario> obterusuario(String user){
Consultar consulta = new Consultar ();
EntityManager obconsulta = consulta.getEntityManager();
System.out.println("passou"+user);
String query = "SELECT U FROM CADASTRO_USUARIO U WHERE U.USR_CODIGO=:user";
TypedQuery<Usuario> tq = obconsulta.createQuery(query,Usuario.class);
tq.setParameter("user", user);
return tq.getResultList( );
}
No banco de dados, o campo ID está como outro formato que não é String, (varchar ou longtext). Seu user está sendo passado como String.
A solução seria, ou você troca o argumento do método para Integer/int, ou você faz um parse com a classe Integer:
Integer realUser;
try {
realUser = Integer.parseInt(user);
catch(NumberFormatException nfe) {
//o valor passado não é um número
realUser = null;
}
Por fim, na instrução tq.setParameter
você vai passar a variável realUser
ao invés da user
.
tq.setParameter("user", realUser);
Espero ter ajudado.
Answered by Andrew Ribeiro on February 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP