1
我正在開發一個Google App Engine項目,我正努力讓JDO中的關係正常工作。對象被正確保存,但相關對象不會顯示在數據存儲區查看器或查詢中。Google App Engine中的擁有關係不起作用
一個修整例如我的代碼是:
@PersistenceCapable
public class Project implements Persistable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key id;
@Persistent(defaultFetchGroup = "true")
private Client client;
// Extra fields and getter and setters remove
}
@PersistenceCapable
public class Client implements Persistable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key id;
Representation r = null;
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
XMLToObject p = new XMLToObject(new org.everglade.tempus.persistence.dataobjects.Project());
p.parse(xml);
org.everglade.tempus.persistence.dataobjects.Project proj = (org.everglade.tempus.persistence.dataobjects.Project) p.getObject();
pm.makePersistent(proj);
getResponse().setStatus(Status.SUCCESS_CREATED);
getResponse().setLocationRef("/project/" + KeyFactory.keyToString(proj.getId()));
} catch (Exception e) { // Add finer exception handling here so can alter status based on what went wrong!
getResponse().setStatus(Status.SERVER_ERROR_INTERNAL);
Log.severe("The following error occurred whilst trying to add a new project: " + e.getMessage());
} finally {
pm.close();
}
項目對象被保存但沒有客戶端與它相關聯 - 任何人都可以看到,爲什麼?這是我的第一款應用程序引擎應用程序,也使用JDO,因此它可能非常明顯!
在此先感謝!