串在我的谷歌應用程序引擎項目查詢我得到了一個意外的異常:AppEngine上:ClassCastException異常與冷
com.google.gwt.user.server.rpc.UnexpectedException:服務法「公共抽象的java.lang .String org.learnjapanese.client.NewAccount.login(java.lang.String,java.lang.String)拋出java.lang.IllegalArgumentException拋出一個意外的異常:java.lang.ClassCastException:無法拋出java.lang.Character到com.google.appengine.api.datastore.Key
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
這是我的JPA代碼:
@Entity
public class Test {
@Id
String id;
}
而且這是在應用程序代碼:
EntityManager manager = EMF.get().createEntityManager();
Query q = manager.createQuery("select x from Test x where id = '12'");
List l = q.getResultList(); // No problem here
q = manager.createQuery("select x from Test x where id = '1'");
l = q.getResultList(); // java.lang.ClassCastException occurs here.
事實證明,與長度爲1的字符串的查詢導致該異常,同時與長度爲2的字符串不。任何人都可以解釋這裏發生了什麼?有沒有解決方法?
當你這樣做會發生什麼? `「從Test x中選擇x,其中id = \」1 \「」` – thejh 2010-12-04 22:41:36