Atualizando dados no JSF

3 respostas
W

Olá.

Tenho uma tabela, onde posso alterar os dados.

Quando salvo, acontece o seguinte erro:

O interessante, é que em outra tabela, onde uso o mesmo recurso, de alteração, funciona tudo corretamente.

Alguém já teve este problema?!

Abaixo o erro completo…

Vlwz

<blockquote>[#|2008-03-27T11:11:25.218-0300|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=20;_ThreadName=httpSSLWorkerThread-8080-3;_RequestID=d8d84ccb-c61d-4007-a4af-4bdd28ccbc96;|WebModule[/FSO]Error Description

java.lang.RuntimeException: Número de conflitos durante a sincronização: 1 SyncResolver.UPDATE_ROW_CONFLICT linha 4  valores alterados no banco de dados

at com.sun.data.provider.impl.CachedRowSetDataProvider.commitChanges(CachedRowSetDataProvider.java:929)

at fso.AbrirFSO.btnSalvaOrdFig_action(AbrirFSO.java:2964)

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

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

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

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

at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)

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

at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)

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

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)

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

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

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)

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

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

at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:229)

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

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

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

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)

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

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

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

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

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

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

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

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

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)

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

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

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

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)

at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)

at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)

at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)

at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)</blockquote>

:roll:

3 Respostas

V

Bom dia cara.
Estou com o mesmo problema… voce achou alguma solucao pra isso?

W

Opa…

Consegui sim…

O problema é que, quando você está tentando atualizar um registro, ele perde a referência no banco… Por exemplo, ele usa a chave primária para reordenar, e você está tentando alterar o valor dela… Daí ele se perde…

Verifique sua query… mande ele jogar a query do dataSource nos logs, para que você possa verificar o que tá saindo e comparar com o que você está tentando atualizar / inserir.

Se não der, posta aí o código do que você tá tentando…

abraço…

V

Resolvido…
No meu bando de dados a tabela tava com o nome “Pais”

alterei o nome dela tudo pra minusculo “pais” e funcionou!

Valeu cara.

Criado 27 de março de 2008
Ultima resposta 27 de abr. de 2008
Respostas 3
Participantes 2