2011-06-05 102 views
0

我有有一組「子」實體的「父」實體,具體如下:問題刪除具有相關的實體「設置」實體

class Parent { 

@Persistent @Element(dependent = "true") 
private Set<Child> children; 

} 

當我刪除了「父」實體我得到以下異常:

javax.jdo.JDOUserException: Cannot read fields from a deleted object 
FailedObject:com.google.appengine.api.datastore.Key:Parent("1000345345456567676")/Child(2) 

看來JDO在一組具有相關屬性,這會導致上述異常,當在設置兒童實體本身出現了「孩子」對象之前刪除「父」實體刪除。有誰知道如何解決這個問題?

僅供參考當我刪除父實體我在事務中使用pm.deletePersistent()。

感謝

回答

0

難道說你只是在代碼中調用pm.makePersistent(objectFoo)調用pm.deletePersistent(objectFoo),然後以後。我正在這樣做,並獲得上述錯誤信息。問候,約翰戈奇

0

如果這不能解決它還有另一種解決方案。如果你使用eclipse,在你的類上做一個Refactor - > Rename並重新運行你的代碼。這應該擺脫數據存儲中陳舊的信息,讓你從頭開始,沒有問題。此致John Goche