Pessoal estou com um probleminha na hora de excluir um registro da base de dados, entendam o caso: Tenho uma tabela de fornecedores onde essa tabela de fornecedores se relaciona com uma tabela de materiais e quando tento excluir um forncedor que esta associado a um material me da o seguinte erro:
11:10:51.182 ERROR [ComunicacaoTerminais.VerificaEvento] [JDBCExceptionReporter] - ORA-02292: integrity constraint (DESSULFURACAO.FK_SILO_ASSOCIATI_FORNECED) violated - child record found
11:10:51.182 ERROR [ComunicacaoTerminais.VerificaEvento] [JDBCExceptionReporter] - ORA-02292: integrity constraint (DESSULFURACAO.FK_SILO_ASSOCIATI_FORNECED) violated - child record found
11:10:51.182 ERROR [ComunicacaoTerminais.VerificaEvento] [AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.arcelormittal.aplicacao.servidor.hibernateutil.HibernateGeneric.delete(HibernateGeneric.java:88)
at com.arcelormittal.aplicacao.servidor.dao.FornecedorDao.excluir(FornecedorDao.java:24)
at com.arcelormittal.aplicacao.servidor.model.fornecedor.FornecedorModel.excluirFornecedor(FornecedorModel.java:163)
at com.arcelormittal.aplicacao.servidor.ComunicacaoTerminais.processaEvento(ComunicacaoTerminais.java:347)
at com.arcelormittal.framework.kernel.ProcessoComunicacaoTerminais.recebeEvento(ProcessoComunicacaoTerminais.java:271)
at com.arcelormittal.framework.base.processo.ProcessoBase$VerificaEvento.run(ProcessoBase.java:529)
Caused by: java.sql.BatchUpdateException: ORA-02292: integrity constraint (DESSULFURACAO.FK_SILO_ASSOCIATI_FORNECED) violated - child record found
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:367)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:8739)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 13 more
até aqui blz entendo, porem quando crio um novo forncedor que não esta associado a ninguem e tento excluir me da outro erro que é esse aqui:
11:11:30.226 INFO [ComunicacaoTerminais.VerificaEvento] [HibernateGeneric] - Deletando: Fornecedor{fornId=54, fornDesc=sfagdjhgfy}
11:11:30.227 ERROR [ComunicacaoTerminais.VerificaEvento] [AbstractBatcher] - Exception executing batch:
java.lang.NullPointerException
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2545)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:8673)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
Alguem já passou por algo parecido? ou alguem sabe o porque? e outra coisa se reiniciar meu servidor consigo excluir o registro.