@oneToMany "to two different values"

8 respostas
G

Galera,

Alguém será que já teve um erro pareciso?

Attempt to set column “reserva.solicitacao_codSolicitacao” to two different values: (class java.lang.Integer)“202”, (class java.lang.Integer)“0” This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.

Alguém sabe como eu posso resolver isso?

Desde já obrigado!

8 Respostas

Hebert_Coelho

Como está seu mapeamento?

G

Usando OpenJPA 1.2.2

Solicitacao.java

@OneToMany(cascade = {CascadeType.ALL}) @ElementJoinColumn(name="solicitacao_codSolicitacao", referencedColumnName="codSolicitacao") private Collection<Reserva> colReserva = new ArrayList<Reserva>();

Reserva.java

@ManyToOne @JoinColumn(name = "solicitacao", referencedColumnName = "codSolicitacao", updatable = false, insertable = false) private Solicitacao solicitacao;

Na verdade o mapeamento estava sendo feito apenas na tabela Solicitação, mas, dava o mesmo erro. Ai fiz esse na tabela reserva.

----------Editando----------

Só pra mostrar o erro que aparece no browser:

Desde já obrigado pela atenção!

Hebert_Coelho

Coloca um erro completo? No primeiro erro de mapeamento e depois c coloca um de transação! =P

G

Pois é, coisas que estou tentando compreender em java.

No console um dos erros que aparecem é aquele que postei primeiro e na pagina aparece o segundo.

Mas o erro completo é bem grande.

Veja só:

<blockquote>GRAVE: <openjpa-1.2.2-r422266:898935 fatal store error> org.apache.openjpa.persistence.RollbackException: The transaction has been rolled back.  See the nested exceptions for details on the errors that occurred.

at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:523)

at nao.importa.ta.dao.SolicitacaoDao.incluir(SolicitacaoDao.java:45)

at nao.importa.ta.controlador.SolicitacaoControlador.incluir(SolicitacaoControlador.java:213)

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:597)

at com.sun.el.parser.AstValue.invoke(AstValue.java:234)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)

at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)

at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)

at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)

at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

at java.lang.Thread.run(Thread.java:662)

Caused by: <openjpa-1.2.2-r422266:898935 fatal general error> org.apache.openjpa.persistence.PersistenceException: The transaction has been rolled back.  See the nested exceptions for details on the errors that occurred.

at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2187)

at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2029)

at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1927)

at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1845)

at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)

at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1369)

at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:877)

at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:512)

 53 more

Caused by: <openjpa-1.2.2-r422266:898935 fatal user error> org.apache.openjpa.persistence.InvalidStateException: Attempt to set column reserva.solicitacao_codSolicitacao to two different values: (class java.lang.Integer)222, (class java.lang.Integer)0 This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.

at org.apache.openjpa.jdbc.sql.PrimaryRow.setObject(PrimaryRow.java:339)

at org.apache.openjpa.jdbc.sql.RowImpl.setInt(RowImpl.java:436)

at org.apache.openjpa.jdbc.meta.strats.PrimitiveFieldStrategy.update(PrimitiveFieldStrategy.java:157)

at org.apache.openjpa.jdbc.meta.strats.PrimitiveFieldStrategy.insert(PrimitiveFieldStrategy.java:117)

at org.apache.openjpa.jdbc.meta.FieldMapping.insert(FieldMapping.java:579)

at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.insert(AbstractUpdateManager.java:197)

at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.populateRowManager(AbstractUpdateManager.java:139)

at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:85)

at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)

at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:721)

at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)

 60 more
AVISO: #{solicitacaoControlador.incluir}: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

javax.faces.FacesException: #{solicitacaoControlador.incluir}: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)

at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)

at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)

at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

at java.lang.Thread.run(Thread.java:662)

Caused by: javax.faces.el.EvaluationException: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

 42 more

Caused by: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at org.apache.openjpa.kernel.BrokerImpl.assertTransactionOperation(BrokerImpl.java:4413)

at org.apache.openjpa.kernel.BrokerImpl.rollback(BrokerImpl.java:1386)

at org.apache.openjpa.kernel.DelegatingBroker.rollback(DelegatingBroker.java:885)

at org.apache.openjpa.persistence.EntityManagerImpl.rollback(EntityManagerImpl.java:528)

at nao.importa.ta.dao.SolicitacaoDao.incluir(SolicitacaoDao.java:50)

at nao.importa.ta.controlador.SolicitacaoControlador.incluir(SolicitacaoControlador.java:213)

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:597)

at com.sun.el.parser.AstValue.invoke(AstValue.java:234)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)

at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

 43 more
GRAVE: Exception in the filter chain

javax.servlet.ServletException: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

at java.lang.Thread.run(Thread.java:662)

Caused by: javax.faces.el.EvaluationException: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)

at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)

at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)

at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)

 33 more

Caused by: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at org.apache.openjpa.kernel.BrokerImpl.assertTransactionOperation(BrokerImpl.java:4413)

at org.apache.openjpa.kernel.BrokerImpl.rollback(BrokerImpl.java:1386)

at org.apache.openjpa.kernel.DelegatingBroker.rollback(DelegatingBroker.java:885)

at org.apache.openjpa.persistence.EntityManagerImpl.rollback(EntityManagerImpl.java:528)

at nao.importa.ta.dao.SolicitacaoDao.incluir(SolicitacaoDao.java:50)

at nao.importa.ta.controlador.SolicitacaoControlador.incluir(SolicitacaoControlador.java:213)

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:597)

at com.sun.el.parser.AstValue.invoke(AstValue.java:234)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)

at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

 43 more
AVISO: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception

javax.faces.el.EvaluationException: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)

at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)

at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)

at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)

at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

at java.lang.Thread.run(Thread.java:662)

Caused by: <openjpa-1.2.2-r422266:898935 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Can only perform operation while a transaction is active.

at org.apache.openjpa.kernel.BrokerImpl.assertTransactionOperation(BrokerImpl.java:4413)

at org.apache.openjpa.kernel.BrokerImpl.rollback(BrokerImpl.java:1386)

at org.apache.openjpa.kernel.DelegatingBroker.rollback(DelegatingBroker.java:885)

at org.apache.openjpa.persistence.EntityManagerImpl.rollback(EntityManagerImpl.java:528)

at nao.importa.ta.dao.SolicitacaoDao.incluir(SolicitacaoDao.java:50)

at nao.importa.ta.controlador.SolicitacaoControlador.incluir(SolicitacaoControlador.java:213)

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:597)

at com.sun.el.parser.AstValue.invoke(AstValue.java:234)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)

at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

 43 more</blockquote>

Mais uma vez obrigado!

Hebert_Coelho

É cara. Sinistro.

Como que você está fazendo para salvar? O erro acontece quando vc chama esse método aqui #{solicitacaoControlador.incluir} certo?

G

Exato.

O método do controlador é basicamente:

public String incluir(){
		Collection<Reserva> colReserva = new ArrayList<Reserva>();
		Map<String, String> vetPostParametro = null;
		vetPostParametro = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
		Collection<Reserva> colReserva = new ArrayList<Reserva>();

		solicitacao.setCodLocalidadeSolicitacao(1);
		solicitacao.setCodDisciplina(Integer.parseInt(vetPostParametro.get("codDisciplina")));
		solicitacao.setCodEstadoSolicitacao(1); // 1  = Pendente
		solicitacao.setReservandoSala(1);       // 1  = reservando sala
		solicitacao.setDataSolicitacao(Calendar.getInstance().getTime());
		solicitacao.setComunicarPortaria((vetPostParametro.get("solicitacao:comunicarPortaria")) != null ? 1 : 0);

	    	Date novaDataInicio = Tempo.somarHoraData((Calendar) Tempo.converteFormatarStringData(vetPostParametro.get("solicitacao:dataInicioEvento")), vetPostParametro.get("solicitacao:horaInicioEvento"));
	    	Date novaDataFim = Tempo.somarHoraData((Calendar) Tempo.converteFormatarStringData(vetPostParametro.get("solicitacao:dataInicioEvento")), vetPostParametro.get("solicitacao:horaFimEvento"));
			
			//
			// Tratamento para inclusão dos dados da tabela Reserva
			//
			Reserva novaReserva = new Reserva();
			
            novaReserva.setCodEstadoReserva(1);
            novaReserva.setCodTipoRecurso(solicitacao.getCodTipoRecurso());
            novaReserva.setCodPessoaResponsavelAlteracao(1);
            novaReserva.setCodRecurso(null);
            novaReserva.setCodPessoaResponsavel(null);
            novaReserva.setDataReserva(null);
            novaReserva.setDataInicio(novaDataInicio);
            novaReserva.setDataFim(novaDataFim);
            novaReserva.setCodResponsavelEnvio(null);
            novaReserva.setDataSaida(null);
            novaReserva.setCodResponsavelRetorno(null);
            novaReserva.setDataRetorno(null);
			
			colReserva.add(novaReserva);

		solicitacao.setColReserva(colReserva);
		
		SolicitacaoDao<Solicitacao> dao = new SolicitacaoDao<Solicitacao>();
		dao.incluir(solicitacao);
		
		return "solicitacaoIncluirSucesso";
}

O método incluir é:

public boolean incluir(T obj){
			EntityManager em = getEntityManager();
			try{
				em.getTransaction().begin();
				em.persist(obj);
				em.getTransaction().commit();
				return true;
			}
			catch (Exception ex){
				ex.printStackTrace();
				em.getTransaction().rollback();
				return false;
			} finally {
				em.close();
			}
		}

Até mais...

Hebert_Coelho

Tenta fazer o seguinte, caso não funcione, continue mantendo as alterações e avançando.

  1. retire o updatable = false, insertable = false da Reserva.java
  2. retire o cascade = {CascadeType.ALL} do Solicitacao.java
  3. adicionar mappedBy=“solicitacao” ao @OneToMany do Solicitacao.java
  4. Leia esse post que ele pode te ajudar pois acabaram minhas idéias. @OneToMany e @ManyToOne Unidirecional e Bidirecional
  5. Caso ainda sim não funcione, volte apenas a opção 1 e veja oq acontece pois não sei qual o impacto dela na sua aplicação. [=
G

É galera, tá dificil.

A alguns dias venho sofrendo com esse problema do “to two different values” e pelo jeito ninguém passou pelo mesmo problema que eu.

Por acaso, alguem aqui usa openJPA?

Nele consigo fazer isse tipo de relacionamento?

Segundo o manual dele sim: http://openjpa.apache.org/faq.html#FAQ-WhatisthecurrentrelationshipbetweenKodoandOpenJPA%3F

Então o que posso estar fazendo de errado?

Aguardo uma ajuda divina (de todos vocês que queiram ajudar).

Desde já obrigado a todos!

Criado 12 de dezembro de 2011
Ultima resposta 14 de dez. de 2011
Respostas 8
Participantes 2