Hallo,
ich habe eine Exception und kommt einfach nicht dahinter, warum sie geworfen wird. Vielleicht könnt ihr mir helfen?
In meinem Programm kann ich Personen anlegen. Jede Person hat eine Liste mit Payments, die sie getätigt hat.
Die Datenbankanbindung mit Hibernate funktioniert tadellos.
Nun exportiere ich meine Objekte als XML mit Hilfe von JAXB. Geht auch gut. Auch der Reimport klappt.
ABER: es funktioniert nur so lange, wie ich Payments zur zuletzt erstellten Person hinzufüge.
Wenn ich zB ein Payment zur 2. Person hinzufüge, dann exportiere und einen reimport mache, bekomme ich die Exception.
Der Code ist zu viel um ihn hier zu posten, aber vielleicht hatte ja jemand schonmal sowas? Oder kann aus dem Stacktrace etwas herauslesen?
Danke vielmals!
ich habe eine Exception und kommt einfach nicht dahinter, warum sie geworfen wird. Vielleicht könnt ihr mir helfen?
In meinem Programm kann ich Personen anlegen. Jede Person hat eine Liste mit Payments, die sie getätigt hat.
Die Datenbankanbindung mit Hibernate funktioniert tadellos.
Nun exportiere ich meine Objekte als XML mit Hilfe von JAXB. Geht auch gut. Auch der Reimport klappt.
ABER: es funktioniert nur so lange, wie ich Payments zur zuletzt erstellten Person hinzufüge.
Wenn ich zB ein Payment zur 2. Person hinzufüge, dann exportiere und einen reimport mache, bekomme ich die Exception.
Der Code ist zu viel um ihn hier zu posten, aber vielleicht hatte ja jemand schonmal sowas? Oder kann aus dem Stacktrace etwas herauslesen?
Danke vielmals!
Java:
16:23:09,332 WARN JDBCExceptionReporter:233 – SQL Error: -104, SQLState: 23505
16:23:09,332 ERROR JDBCExceptionReporter:234 – integrity constraint violation: unique constraint or index violation; SYS_CT_10410 table: PERSON_PAYMENT
javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:93)
at session.ModelDao.persist(ModelDao.java:50)
at session.Controller.persistAfterFileLoad(Controller.java:123)
at gui.actions.CreateFileDialog.open(CreateFileDialog.java:113)
at gui.actions.CreateFileDialog.run(CreateFileDialog.java:62)
at gui.MainWindow$1.run(MainWindow.java:744)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at gui.MainWindow$23.run(MainWindow.java:819)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at gui.MainWindow.main(MainWindow.java:808)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1315)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:81)
... 18 more
Caused by: 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:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:188)
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:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:76)
... 18 more
Caused by: java.sql.BatchUpdateException: integrity constraint violation: unique constraint or index violation; SYS_CT_10410 table: PERSON_PAYMENT
at org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(Unknown Source)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 26 more