Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Testando os relacionamentos entre Categoria, Conta e Movimentação (testando-categoria-e-cliente)

package br.com.caelum.financas.teste;

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

import javax.persistence.EntityManager;

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

public class TesteMovimentacoesComCategoria {

public static void main(String[] args) {

    Categoria categoria1 = new Categoria("viagem");
    Categoria categoria2 = new Categoria("negócios");
    Conta conta = new Conta();
    conta.setId(2);



    Movimentacao movimentacao1 = new Movimentacao();
    movimentacao1.setData(Calendar.getInstance());
    movimentacao1.setDescricao("Viagem à SP");
    movimentacao1.setTipoMovimentacao(TipoMovimentacao.Saida);
    movimentacao1.setValor(new BigDecimal("100.0"));
    movimentacao1.setCategorias(Arrays.asList(categoria1,categoria2));
    movimentacao1.setConta(conta);

    Movimentacao movimentacao2 = new Movimentacao();
    movimentacao2.setData(Calendar.getInstance());
    movimentacao2.setDescricao("Viagem ao RJ");
    movimentacao2.setTipoMovimentacao(TipoMovimentacao.Saida);
    movimentacao2.setValor(new BigDecimal("300.0"));
    movimentacao2.setCategorias(Arrays.asList(categoria1,categoria2));
    movimentacao2.setConta(conta);

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

    em.persist(categoria1);
    em.persist(categoria2);
    em.persist(movimentacao1);
    em.persist(movimentacao2);
    em.getTransaction().commit();
    em.close();

}

} linha do erro : Exception in thread "main" org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: br.com.caelum.financas.modelo.Movimentacao.categoria[br.com.caelum.financas.modelo.Categoria] at org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1332)

1 resposta
solução!

resolvido

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