Ich bin grad etwas am verzweifeln. Ich versuche schon den ganzen Tag eine ein paar Datensätze anzulegen.
Ich habe eine EJB in der 2 SessenBeans stecken. Diese Injiziere ich in eine AbstractSessionBean per @EJB Annotation.
Ich bekomme aber immer folgende Exception:
com.mysql.jdbc.PreparedStatement.addBatch(PreparedStatement.java:681)
org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:31)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2660)
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:56)
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:523)
com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction.java:419)
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:371)
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:83)
$Proxy141.edit( Unknown Source )
starfighterswar.SessionBean1.setDefaults(SessionBean1.java:160) ***FEHLER***
starfighterswar.administration.Index.button2_action(Index.java:157)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
...
Hier die Stelle in der AbtractSessionBean:
Ich weiß grad nicht wirklich weiter.
Hab ich irgentwas vergessen?
Ich habe eine EJB in der 2 SessenBeans stecken. Diese Injiziere ich in eine AbstractSessionBean per @EJB Annotation.
Ich bekomme aber immer folgende Exception:
com.mysql.jdbc.PreparedStatement.addBatch(PreparedStatement.java:681)
org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:31)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2660)
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:56)
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:523)
com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction.java:419)
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:371)
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:83)
$Proxy141.edit( Unknown Source )
starfighterswar.SessionBean1.setDefaults(SessionBean1.java:160) ***FEHLER***
starfighterswar.administration.Index.button2_action(Index.java:157)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
...
Hier die Stelle in der AbtractSessionBean:
Code:
@EJB
private SystemStarshipFacadeLocal systemStarshipFacade;
@EJB
private SystemStarshipAccessoryFacadeLocal systemStarshipAccessoryFacade;
private SystemStarship systemStarship;
public void setDefaults() {
System.out.println(systemStarshipFacade);
systemStarship = systemStarshipFacade.find(1);
System.out.println(systemStarship.getName());
List<SystemStarshipAccessory> nemesis_a = systemStarship.getStarshipAccessories();
nemesis_a.add(systemStarshipAccessoryFacade.find(0));
nemesis_a.add(systemStarshipAccessoryFacade.find(0));
nemesis_a.add(systemStarshipAccessoryFacade.find(0));
nemesis_a.add(systemStarshipAccessoryFacade.find(1));
nemesis_a.add(systemStarshipAccessoryFacade.find(3));
nemesis_a.add(systemStarshipAccessoryFacade.find(4));
System.out.println(nemesis_a);
systemStarship.setStarshipAccessories(nemesis_a);
//System.out.println(systemStarshipAccessoryFacade.find(0).getId());
//System.out.println(starship1.getName());
systemStarshipFacade.edit(systemStarship); /***FEHLER***/
}
Ich weiß grad nicht wirklich weiter.
Hab ich irgentwas vergessen?