Olá, Estou tentando popular movimentação, como foi feito na aula, porem estou recebemo a seguinte exception: entendi q esta dando erro no commit, mas não entendi o pq.
ERROR: Field 'categoria_id' doesn't have a default value ago 28, 2018 4:50:16 PM org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release INFO: HHH000010: On release of batch it still contained JDBC statements ago 28, 2018 4:50:16 PM org.hibernate.internal.ExceptionMapperStandardImpl mapManagedFlushFailure ERROR: HHH000346: Error during managed flush [org.hibernate.exception.GenericJDBCException: could not execute statement] Exception in thread "main" javax.persistence.RollbackException: Error while committing the transaction
não sei qual o problema, segue meu método main:
public static void main(String[] args) {
Categoria categoria1 = new Categoria("Escola");
Categoria categoria2 = new Categoria("Faculdade");
Conta conta = new Conta();
conta.setId(27);
Movimentacao movimentacao1 = new Movimentacao();
movimentacao1.setData(Calendar.getInstance()); // hoje
movimentacao1.setDescricao("Mensalidade Escolinha");
movimentacao1.setTipo(TipoMovimentacao.SAIDA);
movimentacao1.setValor(new BigDecimal("500.0"));
movimentacao1.setCategorias(Arrays.asList(categoria1));
movimentacao1.setConta(conta);
Movimentacao movimentacao2 = new Movimentacao();
Calendar amanha = Calendar.getInstance();
amanha.add(Calendar.DAY_OF_MONTH, 1);
movimentacao2.setData(amanha);
movimentacao2.setDescricao("Mensalidade Faculdade");
movimentacao2.setTipo(TipoMovimentacao.SAIDA);
movimentacao2.setValor(new BigDecimal("800.0"));
movimentacao2.setCategorias(Arrays.asList(categoria2));
movimentacao2.setConta(conta);
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
em.persist(categoria1); // Agora a 'categoria1' é Managed
em.persist(categoria2); //
em.persist(movimentacao1);
em.persist(movimentacao2);
em.getTransaction().commit();
em.close();
}