shouldn't one merge the entity first ? so that it's managed/attached. em.remove(em.merge(this));
regards 2011/3/7 SrArcos <[email protected]>: > Hello all, I don't know if my question must be here, but I need a help > with this problem and I don't know exactly where it can being solved. > > I'm trying to remove an entity from the server: ObjectEntity. > > this is the method in the entity: > > [code] > public void remove() { > EntityManager em = null; > EntityTransaction tx = null; > try { > em = Manager.getEMF().createEntityManager(); > tx = em.getTransaction(); > tx.begin(); > > em.remove(this); > > tx.commit(); > > } catch (Exception e) { > e.printStackTrace(); > if (tx != null) { > tx.rollback(); > } > } finally { > if (em != null) { > em.close(); > } > } > } > [/code] > > and this is the method to call the removal request: > > [code] > public void doDelete(Record lgr) { > final Long id = Long.valueOf(lgr.getAttribute("id")); > > ObjectEntityRequest cRequest = > RFService.getRF().getObjectEntityRequest(); > cRequest.findObjectEntity(id).fire(new > Receiver<ObjectEntityProxy>() > { > @Override > public void onSuccess(ObjectEntityProxy response) { > Request<Void> del = > > RFService.getRF().getObjectEntityRequest() > .remove() > .using(aborrar); > del.fire(new Receiver<Void>() { > @Override > public void onSuccess(Void response) { > Window.alert("ObjectEntity > borrado con éxito"); > > } > @Override > public void onFailure(ServerFailure > error) { > Window.alert("Error al > eliminar el ObjectEntity"); > } > }); > } > }); > } > [/code] > > And the server error I has is this: > > java.lang.IllegalArgumentException: Removing a detached instance > org.mycompany.server.entities.ObjectEntity#400 > at > org.hibernate.ejb.event.EJB3DeleteEventListener.performDetachedEntityDeletionCheck(EJB3DeleteEventListener.java: > 65) > at > org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java: > 107) > at > org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java: > 73) > at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:956) > at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:934) > at > org.hibernate.ejb.AbstractEntityManagerImpl.remove(AbstractEntityManagerImpl.java: > 702) > at > org.mycompany.server.entities.ObjectEntity.remove(ObjectEntity.java: > 214) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > 43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > com.google.gwt.requestfactory.server.ReflectiveServiceLayer.invoke(ReflectiveServiceLayer.java: > 164) > at > com.google.gwt.requestfactory.server.ServiceLayerDecorator.invoke(ServiceLayerDecorator.java: > 89) > at > com.google.gwt.requestfactory.server.ServiceLayerDecorator.invoke(ServiceLayerDecorator.java: > 89) > at > com.google.gwt.requestfactory.server.SimpleRequestProcessor.processInvocationMessages(SimpleRequestProcessor.java: > 440) > at > com.google.gwt.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java: > 218) > at > com.google.gwt.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java: > 125) > at > com.google.gwt.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java: > 118) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 487) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1097) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:359) > at > org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java: > 109) > at > org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java: > 83) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java: > 67) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java: > 101) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java: > 105) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java: > 116) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java: > 91) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java: > 173) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java: > 271) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java: > 89) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java: > 235) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.concurrent.ConcurrentSessionFilter.doFilterHttp(ConcurrentSessionFilter.java: > 99) > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java: > 174) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java: > 236) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java: > 167) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1088) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 360) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: > 216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: > 181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: > 729) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 152) > at > org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java: > 49) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 505) > at org.mortbay.jetty.HttpConnection > $RequestHandler.content(HttpConnection.java:843) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: > 395) > at org.mortbay.thread.QueuedThreadPool > $PoolThread.run(QueuedThreadPool.java:488) > > Can someone help me, please? > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
