3
respostas

Exception in thread "main" java.lang.IllegalArgumentException: Type specified for TypedQuery [java.math.BigDecimal] is incompatible with query return type [class java.lang.String]

Boa tarde, após efetuar o procedimento junto ao professor, estou tendo essa excesão: Exception in thread "main" java.lang.IllegalArgumentException: Type specified for TypedQuery [java.math.BigDecimal] is incompatible with query return type [class java.lang.String]

public BigDecimal buscarPrecoDoProdutoComNome(String nome){
        String jpql = "SELECT p.nome FROM Produto p where p.nome = :nome";
        return em.createQuery(jpql, BigDecimal.class)
                .setParameter("nome",nome).getSingleResult();
    }

Pelo oque entendi a classe [java.math.BigDecimal] é incompatível com retorno [class java.lang.String] porém não tenho outra classe para importar além dessa java.math no BigDecimal.

Obrigado.

3 respostas

Oi Diego!

Seu select está errado. Deveria ser SELECT p.preco e não p.nome.

Bom dia, efetuei o teste e realmente vc tem razão. Muito obrigado pelo apoio e ja gostaria de te elogiar pois vc ensinou muito bem esse curso. Consegui absorver bastante conteúdo com sua didática, parabéns e espero que nos meus proximos cursos eu ainda tenha aulas com vc. Parabéns Rodrigo.

Show! Valeu e bons estudos :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software