Bom dia.
Fiquei com uma dúvida, no ponto que a conta é criada. A mesma foi associada com as movimentações, mas não deveríamos chamar o persist para ela também, como foi feito em movimentacao e categoria? Ou apenas de dar um setId() na conta o hibernate já faz um insert no banco?
Obrigado
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()); // hoje
movimentacao1.setDescricao("Viagem à SP");
movimentacao1.setTipo(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()); // hoje
movimentacao2.setDescricao("Viagem ao RJ");
movimentacao2.setTipo(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(movimentacao1);
em.persist(movimentacao2);
em.getTransaction().commit();
em.close();
}
}