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)