1
resposta

Exceção ao tentar fazer a query usando o setParameter

Quando alterei o id fixo pelo parameter, obtive o seguinte erro:

at org.hibernate.metamodel.mapping.EntityValuedModelPart.getJdbcTypeCount(EntityValuedModelPart.java:63)

Minha classe está assim:

package br.com.alura.financas.teste;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.alura.financas.modelo.Conta;
import br.com.alura.financas.modelo.Movimentacao;
import br.com.alura.financas.util.JPAUtil;

public class TesteJPQL {
  public static void main(String[] args) {

    EntityManager em = new JPAUtil().getEntityManager();
    em.getTransaction().begin();

    Conta conta = new Conta();
    conta.setId(1);

    String jpql = "select m from Movimentacao m where m.conta = :pConta";
    Query qry = em.createQuery(jpql);

    qry.setParameter("pConta", conta);

    List<Movimentacao> resultados = qry.getResultList();

    for (Movimentacao movi : resultados) {
      System.out.println("Descricao: " + movi.getDescricao());
      System.out.println("Conta: " + movi.getConta().getTitular());
    }

    em.getTransaction().commit();
    em.close();
  }

}

É a mesma dúvida do Pedro, de um mês atrás, sem resolução. Resolvi publicar com o mesmo título! Obrigada pela ajuda!

1 resposta

Oi Flavia, tudo bem?

Aparentemente o trecho de código do main está correto. Tem alguma outra mensagem no stack do erro além da linha enviada?

Manda sua classe Movimentacao e Conta, por favor.

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