Tenho uma uma tabela “Recebimento” e outra chamada “Agenda” quando eu adiciono o objeto Agenda no Objeto Recebimento e do o commit ele esta dando erro, fiz até um novo sql para ver se estava pegando a Agenda certa.
[code]String sql = "SELECT a FROM Agenda a ";
Query q = s.createQuery(sql);
result = q.list();
Recebimento rec = new Recebimento();
rec.setAgenda(null);//((Agenda) line.get((Tabela.getSelectedColumn() / 2) - 1)));
Agenda ageteste ;
ageteste=(Agenda) result.get(0);
rec.setAgenda(ageteste); <<<==========SE EU COLOCAR NULL ELE FUNCIONA NORMALMENTE
rec.setRecValorrecebido(BigDecimal.ZERO);
rec.setRecVencimento(age.getAgendaPK().getAgenData());
rec.setRecValor(BigDecimal.valueOf(age.getServico().getSerValor()));
rec.setMatricula(null);
rec.setCaixa(null);
rec.setTpRecebimento(null);
rec.setRecDtrecebimento(null);
s.save(rec);
t.commit();
JOptionPane.showMessageDialog(this, "Executado com Sucesso!", "Mensagem", JOptionPane.WARNING_MESSAGE);
} catch (HibernateException he) {
he.printStackTrace();
t.rollback();
JOptionPane.showMessageDialog(this, "Erro na Execução! erro:" + he.getMessage(), "Mensagem", JOptionPane.ERROR_MESSAGE);
}[/code]
O ERRO QUE ELE GERA É ESSE:
29/03/2011 18:15:09 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: null
29/03/2011 18:15:09 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Entrada em lote 0 insert into recebimento (agen_horario, agen_data, cli_id, cai_id, mat_id, rec_dtrecebimento, rec_valor, rec_valorrecebido, rec_vencimento, tprec_id, rec_id) values (2011-02-28 -03:00:00, 1969-12-31 08:00:00.000000 -03:00:00, 1, NULL, NULL, NULL, 155.5500030517578, 0, 2011-03-29 -03:00:00, NULL, 53) foi abortada. Chame getNextException para ver a causa.
29/03/2011 18:15:09 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 23503
29/03/2011 18:15:09 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERROR: insert or update on table “recebimento” violates foreign key constraint “fkfa9dfb75cac68c22”
Detalhe: Key (agen_data,agen_horario,cli_id)=(1969-12-31,2011-02-28 00:00:00,1) is not present in table “agenda”.
29/03/2011 18:15:09 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
SEVERE: 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:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at Interface.Movimentacao.Agendamento.BgerarActionPerformed(Agendamento.java:735)
at Interface.Movimentacao.Agendamento.access$1000(Agendamento.java:34)
at Interface.Movimentacao.Agendamento$11.actionPerformed(Agendamento.java:401)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)