java.lang.ClassCastException:sametype不能强制转换为sametype
非常奇怪的例外java.lang.ClassCastException:sametype不能强制转换为sametype,java,entitymanager,Java,Entitymanager,非常奇怪的例外 ex = (java.lang.ClassCastException) java.lang.ClassCastException: Entities.service.Chatuser cannot be cast to Entities.service.Chatuser 我的代码 Query q = em.createQuery("SELECT u FROM Chatuser u"); List<Chatuser> list =
ex = (java.lang.ClassCastException) java.lang.ClassCastException: Entities.service.Chatuser cannot be cast to Entities.service.Chatuser
我的代码
Query q = em.createQuery("SELECT u FROM Chatuser u");
List<Chatuser> list = (List<Chatuser>) q.getResultList();
for (int i = 0; i < list.size(); i++) {
Object aa = list.get(i);
Chatuser chatuser = (Chatuser)aa;
有什么问题 这是因为泛型
List<Chatuser> list =
这篇文章可能也回答了你的问题
冲突的类加载器可能有问题请尝试以下操作:
Query q = em.createQuery("SELECT u FROM Chatuser u", Chatuser.class);
List<Chatuser> list = q.getResultList();
for (Chatuser chatuser : list) {
....
chatuser.doSomething();
...
}
Query q=em.createQuery(“从Chatuser u中选择u”,Chatuser.class);
List List=q.getResultList();
用于(聊天用户聊天用户:列表){
....
chatuser.doSomething();
...
}
如果已经在createQuery方法上设置了目标类,则可以避免向下转换。
如果它不工作,请通过更多信息,(Chatuser.java)JPA(Hibernate)版本等)
Cheers Jens试试这个对象aa=(对象)列表;如果重新部署,请尝试重新启动服务器。我在重新部署一个应用程序时,在jBoss中也遇到过同样的问题。你确定createQuery能正常工作吗?你能发布stacktrace吗?我重新启动了电脑,它工作了“保留在内存中的类的旧版本导致ClassCastException”
Query q = em.createQuery("SELECT u FROM Chatuser u", Chatuser.class);
List<Chatuser> list = q.getResultList();
for (Chatuser chatuser : list) {
....
chatuser.doSomething();
...
}