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
Java JDO getObjectById返回null,为什么?_Java_Google App Engine_Jdo_Persistence Manager - Fatal编程技术网

Java JDO getObjectById返回null,为什么?

Java JDO getObjectById返回null,为什么?,java,google-app-engine,jdo,persistence-manager,Java,Google App Engine,Jdo,Persistence Manager,我刚开始使用JDO和Google数据存储 我有一个包含以下主键代码的文件类 @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; 当我在数据存储中使用ID/Name值调用此方法时,它给了我错误-javax.jdo.JDOObjectNotFoundException:无法检索具有密钥文件(“6298002603900928”)的类文件的实体但是当我使用数据存储中的键值时,它返

我刚开始使用JDO和Google数据存储

我有一个包含以下主键代码的文件类

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
当我在数据存储中使用ID/Name值调用此方法时,它给了我错误-javax.jdo.JDOObjectNotFoundException:无法检索具有密钥文件(“6298002603900928”)的类文件的实体
但是当我使用数据存储中的键值时,它返回预期的文件对象

ID/名称值为6298002603900928
关键值是AGxVCMDHBML6ZS1MCHZYEQSSBEZPBGYGICAGICAGMASM

File file = null;
// get data from Google datastore
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
    file = pm.getObjectById(File.class, fileId);
} catch (JDOObjectNotFoundException e) {
    e.printStackTrace();
}
我如何解决这个问题

我尝试使用此代码将ID/Name转换为Key

Key key = KeyFactory.stringToKey(fileId);

但它也给了我错误java.lang.IllegalArgumentException:无效键PB:无元素。

我找到了出现错误的原因

我使用的文件ID是字符串。它应该很长