Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine Appengine org.datanucleus.exceptions.nucleuserexception当makePersistent()时_Google App Engine_Datanucleus - Fatal编程技术网

Google app engine Appengine org.datanucleus.exceptions.nucleuserexception当makePersistent()时

Google app engine Appengine org.datanucleus.exceptions.nucleuserexception当makePersistent()时,google-app-engine,datanucleus,Google App Engine,Datanucleus,我有一个目标: @Entity @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true") public class Channel implements Serializable, Cacheable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Id public Long id;

我有一个目标:

@Entity
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
public class Channel implements Serializable, Cacheable {



@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Id
public Long id;

// NOTE THE PERSISTENT TAGS
@Persistent
private String name;

@Persistent
private boolean hotblocked = false;

........
当我运行pm.makePersistent(c)(pm是PersistenceManager)时,我得到了以下结果:

An object of class "com.iuculano.tvitaliane.server.types.Channel" uses SingleFieldIdentity using the field "id" yet this field has not had its value set! Either set the field manually, or set a value-strategy for that field.
org.datanucleus.exceptions.NucleusUserException: An object of class "com.iuculano.tvitaliane.server.types.Channel" uses SingleFieldIdentity using the field "id" yet this field has not had its value set! Either set the field manually, or set a value-strategy for that field.
    at org.datanucleus.state.JDOStateManager.setIdentity(JDOStateManager.java:820)
    at org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:2374)
    at org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:2357)
    at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1896)
    at org.datanucleus.ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1745)
    at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1602)
    at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:731)
    at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:756)
    at com.iuculano.tvitaliane.server.db.ChannelJDOWrapper.insertChannel(ChannelJDOWrapper.java:45)
    at com.iuculano.tvitaliane.server.scrapers.Import.caricaListaTvita(Import.java:101)
    at com.iuculano.tvitaliane.server.requests.InitialImport.doPost(InitialImport.java:23)
    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:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:61)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
    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 com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:409)
    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.HttpParser.parseNext(HttpParser.java:547)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
18-feb-2013 16.07.53 com.google.appengine.api.taskqueue.dev.UrlFetchJob execute
我不明白这是什么意思,我有valueStrategy=IdGeneratorStrategy.IDENTITY,我错在哪里?

根据,你应该忘记@id注释。

根据,你应该忘记@id注释。

确定找到了解决方案:

我有两个问题:

1) 删除@id注释。 2) 删除@Entity

确定找到解决方案:

我有两个问题:

1) 删除@id注释。 2) 删除@Entity

根据您的评论,我“注意到”了@Persistent注释,但我要指出它们完全没有必要。。。绝大多数字段类型(String、int、boolean等)都默认为持久性,因此省去这些注释要干净得多。。。绝大多数字段类型(String、int、boolean等)都默认为持久性的,因此省去了这些注释。