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.