Hi there,

I have an object model that uses inheritance, with classes like so:

@Inheritance(strategy=InheritanceStrategy.SUBCLASS_TABLE)
Post {
        // Owned one-to-many
        @Persistent(mappedBy = "post", defaultFetchGroup = "true")
        private List<Response> responses;
}
OfferedPost extends Post
WantedPost extends Post

and I also have another class

@PersistenceCapable
Response {
        // Parent
        @Persistent
        private Post post;
}

Until today, this wasn't a problem. I could polymorhpically set an
OfferedPost or a WantedPost on my Response without any trouble. As of
today however (and I can't think for the life of me what I've changed
in my object model) I'm getting a new NPE when querying for
OfferedPost  or WantedPost . Has something changed on the servers?
Have you bumped the DataNucleus version?

[s~not-landfill/6.352431011734918192].<stdout>: 16:38:49,411 WARN
[DataNucleus.Persistence] - Field org.recyc.domain.Response.post
represents either a 1-1 relation, or a N-1 relation where the other
end uses "subclass-table" inheritance strategy and more than 1
subclasses with a table. This is not fully supported by JPOX

/admin/offered/list
java.lang.NullPointerException
        at
org.datanucleus.store.mapped.mapping.CorrespondentColumnsMapper.<init>(CorrespondentColumnsMapper.java:
260)
        at
org.datanucleus.store.mapped.mapping.PersistenceCapableMapping.prepareDatastoreMapping(PersistenceCapableMapping.java:
202)
        at
org.datanucleus.store.mapped.mapping.PersistenceCapableMapping.initialize(PersistenceCapableMapping.java:
117)
        at
org.datanucleus.store.mapped.mapping.MappingFactory.createMapping(MappingFactory.java:
97)
        at
org.datanucleus.store.mapped.mapping.AbstractMappingManager.getMapping(AbstractMappingManager.java:
248)
        at
org.datanucleus.store.appengine.DatastoreTable.addFieldMapping(DatastoreTable.java:
494)
        at
org.datanucleus.store.appengine.DatastoreTable.initializeNonPK(DatastoreTable.java:
440)
        at
org.datanucleus.store.appengine.DatastoreTable.buildMapping(DatastoreTable.java:
377)
        at
org.datanucleus.store.appengine.DatastoreManager.buildStoreData(DatastoreManager.java:
509)
        at
org.datanucleus.store.appengine.DatastoreManager.newStoreData(DatastoreManager.java:
447)
        at
org.datanucleus.store.AbstractStoreManager.addClasses(AbstractStoreManager.java:
788)
        at
org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:
759)
        at
org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:
358)
        at
org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass(DatastoreManager.java:
747)
        at
org.datanucleus.store.appengine.DatastoreTable.initializePK(DatastoreTable.java:
806)
        at
org.datanucleus.store.appengine.DatastoreTable.buildMapping(DatastoreTable.java:
376)
        at
org.datanucleus.store.appengine.DatastoreManager.buildStoreData(DatastoreManager.java:
509)
        at
org.datanucleus.store.appengine.DatastoreManager.newStoreData(DatastoreManager.java:
447)
        at
org.datanucleus.store.AbstractStoreManager.addClasses(AbstractStoreManager.java:
788)
        at
org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:
759)
        at
org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:
358)
        at
org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass(DatastoreManager.java:
747)
        at
org.datanucleus.store.appengine.DatastoreTable.initializePK(DatastoreTable.java:
806)
        at
org.datanucleus.store.appengine.DatastoreTable.buildMapping(DatastoreTable.java:
376)
        at
org.datanucleus.store.appengine.DatastoreManager.buildStoreData(DatastoreManager.java:
509)
        at
org.datanucleus.store.appengine.DatastoreManager.newStoreData(DatastoreManager.java:
447)
        at
org.datanucleus.store.AbstractStoreManager.addClasses(AbstractStoreManager.java:
788)
        at
org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:
759)
        at
org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:
358)
        at
org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass(DatastoreManager.java:
747)
        at
org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java:
224)
        at
org.datanucleus.store.appengine.query.JDOQLQuery.performExecute(JDOQLQuery.java:
92)
        at org.datanucleus.store.query.Query.executeQuery(Query.java:1489)
        at org.datanucleus.store.query.Query.executeWithArray(Query.java:
1371)
        at org.datanucleus.store.query.Query.execute(Query.java:1344)
        at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:221)
        at
org.recyc.web.OfferedPostController.list(OfferedPostController.java:
42)
        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:43)
        at
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:
176)
        at
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:
426)
        at
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:
414)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
790)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
719)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
644)
        at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:
549)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
422)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
579)
        at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:449)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:
689)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
327)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
319)
        at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:447)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1110)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

-- 
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 [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-appengine-java?hl=en.

Reply via email to