java - IllegalStateException when persisting an object -
public void lagremelding(string bruker, string msg) { entitymanager em = emf.createentitymanager(); melding melding = new melding(bruker, msg); try { em.gettransaction().begin(); em.persist(melding); em.gettransaction().commit(); em.close(); } catch (rollbackexception e) { em.gettransaction().rollback(); } }
the error report following:
java.lang.illegalstateexception: exception description: cannot use entitytransaction while using jta. org.eclipse.persistence.internal.jpa.transaction.jtatransactionwrapper.gettransaction(jtatransactionwrapper.java:73) org.eclipse.persistence.internal.jpa.entitymanagerimpl.gettransaction(entitymanagerimpl.java:1311) no.hib.dat104.oblig1.kontroll.lagremelding(kontroll.java:37) no.hib.dat104.oblig1.meldingservlet.dopost(meldingservlet.java:80) javax.servlet.http.httpservlet.service(httpservlet.java:646) javax.servlet.http.httpservlet.service(httpservlet.java:727) org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)
all other examples of problem had been solved removing
em.gettransaction().begin();
and
em.gettransaction().commit();
but upon doing database doesn't update. care explain missing? pre-thanks taking time simple question :)
you can't begin , commit transaction way when using jta, try this:
public void lagremelding(string bruker, string msg) { entitymanager em = emf.createentitymanager(); melding melding = new melding(bruker, msg); usertransaction transaction = (usertransaction)new initialcontext().lookup("java:comp/usertransaction"); try { transaction.begin(); em.persist(melding); transaction.commit(); em.close(); } catch (rollbackexception e) { transaction.rollback(); } }
Comments
Post a Comment