h'mmmm ... so it would seem that 2 or more entity (instances) persisted in the same tx cause this error ...
this cannot be so ... how is the mapping from instance to entity (group) made? On Aug 25, 2:33 pm, Larry Cable <larry.ca...@gmail.com> wrote: > I have exactly the same problem, I instantiate a number of @Entity > objects > (all of the same type) persist them, and flush them in the context of > the same > transaction. > > Since they are all of the same type, and their are no relationships > (although there is > an @Embedded class/field) I would imagine that they are all modelled > as being in the > sameentitygroup.. but apparently not. > > The documentation is basically useless at this point ... > > On Aug 15, 1:09 pm, Foreigner <foreigne...@gmail.com> wrote: > > > > > While trying to do a bulk update on my entities using JPA I get the > > exception bellow. > > I understand that you can't do a bulk update on differententitygroups in > > the same transaction but I guess I don't quite understand what anentity > >groupis and how I go about making all entities part of the samegroupI > > want. > > > Thanks for the help. > > > fbr > > > Illegal argument > > org.datanucleus.exceptions.NucleusUserException: Illegal argument > > at > > org.datanucleus.store.appengine.DatastoreExceptionTranslator.wrapIllegalArgumentException(DatastoreExceptionTranslator.java:42) > > at > > org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.put(RuntimeExceptionWrappingDatastoreService.java:106) > > at > > org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java:125) > > at > > org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java:94) > > at > > org.datanucleus.store.appengine.DatastorePersistenceHandler.updateObject(DatastorePersistenceHandler.java:398) > > at > > org.datanucleus.state.JDOStateManagerImpl.flush(JDOStateManagerImpl.java:4458) > > at > > org.datanucleus.ObjectManagerImpl.flushInternal(ObjectManagerImpl.java:2807) > > at > > org.datanucleus.ObjectManagerImpl.markDirty(ObjectManagerImpl.java:2617) > > at > > org.datanucleus.state.JDOStateManagerImpl.postWriteField(JDOStateManagerImpl.java:4241) > > at > > org.datanucleus.state.JDOStateManagerImpl.setObjectField(JDOStateManagerImpl.java:2287) > > at > > com.yicook.entities.TwitterDailyTip.jdoSetlastSet(TwitterDailyTip.java) > > at > > com.yicook.entities.TwitterDailyTip.setLastSet(TwitterDailyTip.java:36) > > at > > com.yicook.control.bco.TwitterStatusSetterBCO.resetTDT(TwitterStatusSetterBCO.java:60) > > at > > com.yicook.control.bco.TwitterStatusSetterBCO.execute(TwitterStatusSetterBCO.java:40) > > at > > com.yicook.control.ApplicationController.executeControllers(ApplicationController.java:61) > > at > > com.yicook.control.ApplicationController.dispatch(ApplicationController.java:41) > > at > > com.yicook.servlets.FrontController.doPost(FrontController.java:31) > > at > > com.yicook.servlets.FrontController.doGet(FrontController.java:25) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > at > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) > > at > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > > 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:712) > > at > > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > > at > > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) > > at > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) > > at > > com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:306) > > at > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) > > at org.mortbay.jetty.Server.handle(Server.java:313) > > at > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) > > at > > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) > > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) > > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > > at > > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) > > at > > org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) > > Caused by: java.lang.IllegalArgumentException: can't operate on > > multipleentitygroups in a single transaction. found both Element { > > type: "TwitterDailyTip" > > id: 77} > > > and Element { > > type: "TwitterDailyTip" > > id: 78 > > > }- Hide quoted text - > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---