Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

No Exercício: 05 . Pesquisas orientado a objetos com JPQL

Não estou conseguindo executar a query,

Na hora de passar minha query

"select m from Movimentacao m where m.conta = :pConta and m.tipoMovimentacao = :pTipo"

me retorna um erro de

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: tipoMovimentacao of: br.com.caelum.financas.modelo.Movimentacao [select m from br.com.caelum.financas.modelo.Movimentacao m where m.conta = :pConta and m.tipoMovimentacao = :pTipo

não consegui identificar o que está ocorrendo.

segue minha classe inteira

package br.com.caelum.financas.teste;

import java.util.List;

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

import br.com.caelum.financas.modelo.Movimentacao;
import br.com.caelum.financas.modelo.TipoMovimentacao;
import br.com.caelum.financas.util.Conta;
import br.com.caelum.financas.util.JPAUtil;

public class TesteConsultaJPQLNamedParameterNotation {

    public static void main(String[] args) {

        EntityManager manager = new JPAUtil().getEntityManager();

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

        Query query = manager
                .createQuery("select m from Movimentacao m where m.conta = :pConta and m.tipoMovimentacao = :pTipo");

        query.setParameter("pConta", conta);
        query.setParameter("pTipo", TipoMovimentacao.SAIDA);

        List<Movimentacao> movimentacoes = query.getResultList();

        for (Movimentacao m : movimentacoes) {
            System.out.println("\nDescrição..:" + m.getDescricao());
            System.out.println("Valor..: R$" + m.getValor());
            System.out.println(m.getTipoMovimentavao());
        }

        manager.close();
    }

}
2 respostas
solução!

Será que o atributo tipoMovimentacao esta certo na Classe Movimentacao?

Cara, era isso mesmo, na hora de escrever tipoMovimentacao eu escrevi tipoMovimentavao e como na hora de fazer a query você digita em forma de String dentro de " " o java não consegue resolver as classes, escrevendo-as!!!