güncellendi olan bir öğenin getByObjectId çağrısına NullPointerException öğesini atıyor Veriyi bir 'model' bölge 'nesnesinin nesneleri olarak sürdürmek için google veri mağazasını kullanıyorum. Bu model yakın zamanda daha fazla parametre ile güncellendi. Yeni kodu dağıttığımda, mevcut 'bölge' öğelerine çağrı almak bir hatayla sonuçlanır. Mevcut bölge varlıkları yeni eklenen parametreye sahip değildir (bölge sınıfında işaretlenmiştir).App-Engine,
public Zone getZoneById(String id) {
Zone zone = zoneDao.findById(id);
return zone;
}
Bu model sınıftır - - 'Bölge'
public class Zone implements Serializable {
private static final long serialVersionUID = 3946928960755099560L;
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
@Persistent
private String name;
@Persistent
private String siteId;
@Persistent
private String orgId;
@Persistent(defaultFetchGroup = "true")
private List<LocationCoordinates> locationCoordinates;
@Persistent
private Date created;
@Persistent
private String description;
@Persistent
private String urlExtension;
@Persistent
private Integer timeSpentThreshold;
@Persistent
private Double tuningNumber;
@Persistent(defaultFetchGroup = "true")
private HashMap<String, String> zonePayload;
@Persistent(defaultFetchGroup = "true")
private List<ZoneSignalValue> zoneSignalValueList; //Newly Added
//Getters and Setters
}
private final Class<T> persistentClass;
public BaseDaoImpl() {
persistentClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
public T findById(Serializable id) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
T t = pm.getObjectById(persistentClass, id);
t.toString();
return t;
} finally {
pm.close();
}
}
Bu
hizmetinde koddur -ERROR: Error in Service {} at com.tryout.cdapp.exceptions.handler.CNDApplicationExceptionHandler.(CNDApplicationExceptionHandler.java:30) on 2014-10-14 03:21:48,002
java.lang.NullPointerException
at com.google.appengine.datanucleus.scostore.FKListStore.getIndexPropertyName(FKListStore.java:965)
at com.google.appengine.datanucleus.scostore.FKListStore.getFilterPredicates(FKListStore.java:940)
at com.google.appengine.datanucleus.scostore.FKListStore.listIterator(FKListStore.java:383)
at com.google.appengine.datanucleus.scostore.FKListStore.listIterator(FKListStore.java:349)
at com.google.appengine.datanucleus.scostore.FKListStore.iterator(FKListStore.java:342)
at org.datanucleus.store.types.sco.backed.List.loadFromStore(List.java:304)
at org.datanucleus.store.types.sco.backed.List.initialise(List.java:253)
at org.datanucleus.store.types.sco.SCOUtils.createSCOWrapper(SCOUtils.java:253)
at org.datanucleus.store.types.sco.SCOUtils.newSCOInstance(SCOUtils.java:139)
at org.datanucleus.store.mapped.mapping.AbstractContainerMapping.replaceFieldWithWrapper(AbstractContainerMapping.java:396)
at org.datanucleus.store.mapped.mapping.AbstractContainerMapping.postFetch(AbstractContainerMapping.java:414)
at com.google.appengine.datanucleus.DatastorePersistenceHandler.fetchObject(DatastorePersistenceHandler.java:599)
at org.datanucleus.state.JDOStateManager.loadFieldsFromDatastore(JDOStateManager.java:1638)
at org.datanucleus.state.JDOStateManager.validate(JDOStateManager.java:3511)
at org.datanucleus.ObjectManagerImpl.findObject(ObjectManagerImpl.java:3379)
at org.datanucleus.api.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1722)
at org.datanucleus.api.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1740)
at com.tryout.cdapp.dao.impl.BaseDaoImpl.findById(BaseDaoImpl.java:103)
at com.tryout.cdapp.service.impl.ZoneServiceImpl.getZoneById(ZoneServiceImpl.java:55)
at com.tryout.cdapp.resource.ZoneResource.getById(ZoneResource.java:75)
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:45)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:280)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:234)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:221)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
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$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.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445)
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442)
at java.lang.Thread.run(Thread.java:724)
Bu
Dao'da kodudurBunu nasıl çözebilirim? Şimdiden teşekkürler.
Mevcut tüm varlıkları güncelleştirmeye gerek kalmadan herhangi bir yol var mı? –