Inserções ao banco pararam Hibernate + MySQL

Estou com um problema sério.

Meu sistema usa Hibernate-Annotations + MySQL e estava indo muito bem. Até que hoje as inserções no banco pararam de acontecer.

Resumindo: Não insere mais nada, contudo aparece no console dizendo que a inserção foi feita.

Já me revirei em mil para achar o erro, mas parece não existir erro (bom, pelo menos qto a inserção ^^)

Hibernate: insert into guaicurus.requisicao (data_requisicao, descricao, empresa_id_empresa, fornecedor_id_fornecedor, id_requisicao_empresa, id_requisicao_servico, impresso, num_total_prod, numero_nota, numeroParcelasFim, numeroParcelasIni, pago, servico_id_servico, status, tipoPagamento, vlr_req) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Hibernate: insert into guaicurus.forma_pagamento (data_pag, data_parcela, pago, parcial, id_requisicao, valor_parcela) values (?, ?, ?, ?, ?, ?) Hibernate: insert into guaicurus.produto_requisicao (descricao, quantidade, requisicao_id_requisicao, vlr_total) values (?, ?, ?, ?)

Vejam, ele fala que inseriu, mas qdo vou consultar ele nao existe.

Alguém tem alguma idéia de como resolver isso?

Dê uma olhada nos campos que está tentando inserir, e veja se há constraints na tabela. Às vezes pode ser que os dados não estejam no formato que o banco requer.
Por exemplo, pode ser que você esteja tentando inserir uma data no formato “0000-00-00 00:00:00”, e daí o Hibernate converte para null, e daí o banco não aceita valor nulo, impedindo a inserção.

Verifique também a questão do auto commit.
Geralmente no Mysql não é necessário se preocupar com isso, mas não custa dar uma olhada.

Amigo, poste o código que você está utilizando para que possamos tentar entender melhor o problema.
Verifique se você está lembrando de comitar a transação.

Segue um código de exemplo.


...

Session session = HibernateUtil.getSession();
Transaction transaction = session.beginTransaction();

Pessoa pessoa = new Pessoa();
pessoa.setNome("Fulano");

session.save(pessoa);

//Este método é responsavel por comitar a transação.
//Sem esse método as alterações realizadas no banco não serão salvas.
transaction.commit();

session.close();

...

Abraços…

Consegui, camaradas.

O código estava certo e os dados também. O que notei que ficou diferente na hora de sincronizar os dados do banco antigo com o atual, foi que a ENGINE mudou para InnoDB e antes era MylSAM. Voltei para a MylSAM e agora esta normal.

Não entendi muito bem qual a diferença nas ENGINES, vou dar uma lida rápida aqui e ver se descubro algo.

OBS: Nada como dormir bem e resolver os problemas no dia seguinte com a cabeça fria =P