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

could not resolve property: categorias of: br.com.dirley.financas.modelo.Categoria

package br.com.dirley.financas.teste;

import java.util.List;

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

import br.com.dirley.financas.modelo.Movimentacao;
import br.com.dirley.financas.modelo.Categoria;
import br.com.dirley.financas.util.JPAUtil;

public class TesteJPQLMovCat {
    public static void main(String[] args) {
        EntityManager em = new JPAUtil().getEntityManager();
        em.getTransaction().begin();

        @SuppressWarnings("deprecation")
        Categoria categoria = new Categoria();
        categoria.setId(1);

        String jpql = "select m from Movimentacao m join m.categorias c where c.categorias = :pCategoria";
        Query query = em.createQuery(jpql);
        query.setParameter("pCategoria", categoria);

        @SuppressWarnings("unchecked")
        List<Movimentacao> resultados = query.getResultList();

        for (Movimentacao movimentacao : resultados) {
            System.out.println("Descrição: "+movimentacao.getDescricao());
            System.out.println("Conta: "+movimentacao.getConta().getTitular());

        }

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

package br.com.dirley.financas.modelo;

import java.math.BigDecimal; import java.util.Calendar; import java.util.List;

import javax.persistence.*;

import br.com.dirley.financas.util.TipoMovimentacao;

@Entity public class Movimentacao {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;

private BigDecimal valor;

@Enumerated(EnumType.STRING)
private TipoMovimentacao tipo;

private String descricao;

@Temporal(TemporalType.TIMESTAMP)
private Calendar data;

@ManyToOne
private Conta conta;

@ManyToMany
private List<Categoria> categorias;

public List<Categoria> getCategorias() {
    return categorias;
}

public void setCategorias(List<Categoria> categorias) {
    this.categorias = categorias;
}

public Integer getId() {
    return id;
}

public BigDecimal getValor() {
    return valor;
}

public void setValor(BigDecimal valor) {
    this.valor = valor;
}

public TipoMovimentacao getTipo() {
    return tipo;
}

public void setTipo(TipoMovimentacao tipo) {
    this.tipo = tipo;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public Calendar getData() {
    return data;
}

public void setData(Calendar data) {
    this.data = data;
}

public Conta getConta() {
    return conta;
}

public void setConta(Conta conta) {
    this.conta = conta;
}

public void setId(Integer id) {
    this.id = id;
}

}

Não consigo encontrar onde está errado. Pode me ajudar? ` Segue o erro: Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: categorias of: br.com.dirley.financas.modelo.Categoria [select m from br.com.dirley.financas.modelo.Movimentacao m join m.categorias c where c.categorias = :pCategoria] br.com.dirley.financas.teste.TesteJPQLMovCat.main(TesteJPQLMovCat.java:22) Caused by: org.hibernate.QueryException: could not resolve property: categorias of: br.com.dirley.financas.modelo.Categoria [select m from br.com.dirley.financas.modelo.Movimentacao m join m.categorias c where c.categorias = :pCategoria]

2 respostas

Essa minha mensagem não necessita de resposta. Tópico duplicado, novas mensagens favor responder em https://cursos.alura.com.br/forum/topico-could-not-resolve-property-categorias-of-br-com-dirley-financas-modelo-categoria-88560

solução!

Boa noite, Dirley! Como vai?

Como vc criou vários tópicos iguais, fecharei esse e deixarei aberto apenas o original para melhor organização do fórum e também para centralizar apenas em um só lugar a participação do pessoal em relação a sua dúvida!

Link do tópico original: https://cursos.alura.com.br/forum/topico-could-not-resolve-property-categorias-of-br-com-dirley-financas-modelo-categoria-88560

Grande abraço e bons estudos, meu aluno!