我正在開發Google App Engine/Java上的應用程序。 在我的開發環境中,應用程序正常工作,數據存儲和檢索成功。但是,上傳到應用程序引擎時,我不斷收到錯誤「javax.jdo.JDOFatalUserException:Illegal argument」。從堆棧跟蹤,這似乎發生在我調用(List query.execute())。size()時。 相關的堆棧跟蹤是。JDOFatalUserException:非法參數(在GAE J上,但不在開發系統上)
2012-11-22 23:34:08.512
[s~qalmadev1/1.363360558551053190].<stderr>: javax.jdo.JDOFatalUserException: Illegal argument
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:488)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at org.datanucleus.api.jdo.JDOAdapter.getApiExceptionForNucleusException(JDOAdapter.java:1107)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.google.appengine.datanucleus.query.QueryExceptionWrappers$2.get(QueryExceptionWrappers.java:72)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.google.appengine.datanucleus.query.RuntimeExceptionWrappingIterator.hasNext(RuntimeExceptionWrappingIterator.java:103)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.google.appengine.datanucleus.query.LazyResult.resolveAll(LazyResult.java:120)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.google.appengine.datanucleus.query.LazyResult.size(LazyResult.java:115)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.google.appengine.datanucleus.query.StreamingQueryResult.size(StreamingQueryResult.java:151)
W 2012-11-22 23:34:08.516
[s~qalmadev1/1.363360558551053190].<stderr>: at com.xxx.xxx.appengine.server.CreateEventServlet.doPost(CreateEventServlet.java:115)
線115在我CreateEventServlet是 「如果()」 中的代碼下面
Query query = pm.newQuery("select from com.xxx.xxx.appengine.User "
+ "where key == :userid");
List<User> result = (List<User>) query.execute(userid);
if (result != null && result.size() > 0) { // Line 115
user = result.get(0);
USER_VALID = true;
}
您是否明確將實體名稱設置爲'com.xxx.xxx.appengine.User'?如果不是在查詢中使用'select from user'。 –
我個人會打印出嵌套的異常,這是真正的例外,它會告訴你實際上有問題的線(在公開源代碼插件代碼中) – DataNucleus