0

很奇怪的异常

我的代码

 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;

例外

   ex = (java.lang.ClassCastException) java.lang.ClassCastException: Entities.service.Chatuser cannot be cast to Entities.service.Chatuser

问题是什么 ?

4

3 回答 3

1

这篇文章可能还回答了您的问题
Java,在两个类完全相同的情况下出现类强制转换异常

冲突的类加载器可能存在问题

于 2013-06-21T09:37:14.810 回答
0

请尝试以下方法:

Query q = em.createQuery("SELECT  u FROM Chatuser u", Chatuser.class);

List<Chatuser> list = q.getResultList();

for (Chatuser chatuser : list) {
    ....
    chatuser.doSomething();
    ...
}

如果您已经在 createQuery 方法上设置了目标类,则可以避免向下转换。如果它不起作用,请过去更多信息,(Chatuser.java)JPA(Hibernate)版本等)

干杯詹斯

于 2013-06-21T09:39:05.510 回答
0

这是因为泛型

List<Chatuser> list = 

使用此表格

for(ChatUser u : list) {
u.doSomething();
}
于 2013-06-21T09:33:40.273 回答