TransWikia.com

JSP - java.lang.IllegalArgumentException: Parameter value [11] did not match expected type [java.lang.Integer (n/a)]

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( );
}

One Answer

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP