# Probleme mit ID bei Postgres/JSF



## StudentZHW (4. April 2008)

Hallo zusammen

Ich entwickle eine Webapplikation und benutze dabei JSF/Hibernate/PostgreSQL

Ich habe nun ein Formular mit dem ich einen neuen Benutzer erfassen kann. Wenn ich den "save" drücke, soll mit den Angaben aus dem Formular ein neuer Benutzer in der DB abgelegt werden. 

So weit so gut. Beim ersten Abspeichern funktioniert alles noch so wie es soll und der Benutzer wird erfasst (mit PersonID = 0). Wenn ich nun einen weiterern Benutzer erfassen will, kommt eine Exception:


```
java.sql.BatchUpdateException: Batch-Eintrag 0 insert into public.Person...
```

So wie es aussieht funktioniert etwas mit der ID nicht. Auf der DB habe ich personID wie folgt erfasst:


```
personid SERIAL NOT NULL,
```

Kann mir jemand weiterhelfen?

Ich danke euch!

Gruss
Daniel


----------



## Anime-Otaku (4. April 2008)

StudentZHW hat gesagt.:


> Hallo zusammen
> 
> 
> ```
> ...



Es wäre schon gut zu wissen, wie die Exception genauer aussieht (am besten mit Stacktrace und original Exceptionm), um dir weiterhelfen zu können.


----------



## StudentZHW (4. April 2008)

Das mach ich gerne:


```
Das mach ich gerne:
04.04.2008 15:34:33 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet Faces Servlet threw exception
java.sql.BatchUpdateException: Batch-Eintrag 0 insert into public.Person (city, country, emailAddress, firstname, jobFunction, lastname, pPassword, phone1, phone2, phone3, street1, street2, zip, personId) values (asdasd, asdasdasd, asdasd, Dasdasd, asdasd, asdasd, asd, asd, asd, asdasd, asdasd, asdasd, asd, 0) wurde abgebrochen.  Rufen Sie 'getNextException' auf, um die Ursache zu erfahren.
	at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2537)
	at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:403)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1328)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:351)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2674)
	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
	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 ch.sw-ss.application.scanner.logic.HibernateConnection.writePersonIntoDB(HibernateConnection.java:165)
	at ch.sw-ss.application.scanner.logic.Person.addThisNewPerson(Person.java:185)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.el.parser.AstValue.invoke(AstValue.java:130)
	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
	at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
	at javax.faces.component.UICommand.broadcast(UICommand.java:109)
	at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
	at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
```


----------



## StudentZHW (5. April 2008)

Gibt es jemand, der mir bei diesem Problem weiterhelfen kann?


----------

