0
我剛開始使用JDO和Google數據存儲
我有File類,其中包含以下主鍵的代碼。JDO getObjectById返回null,爲什麼?
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
當我把這種方法,在數據存儲使用ID /名稱值,它給了我錯誤 - javax.jdo.JDOObjectNotFoundException:無法檢索與密鑰文件(「6298002603900928」)文件類型實體。
但是當我使用它在數據存儲,它返回預期File對象
ID /名稱值6298002603900928
Key值是agxvcmdhbml6ZS1mcHZyEQsSBEZpbGUYgICAgICAmAsM
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();
}
我該如何解決這個問題的關鍵價值?
我試圖通過使用此代碼
Key key = KeyFactory.stringToKey(fileId);
到ID /名稱轉換爲關鍵,但它也給了我錯誤java.lang.IllegalArgumentException異常:無效的密鑰PB:沒有元素。