开发者社区 问答 正文

报错 cannot be cast to com.iflve.domain.Employee怎么解决

代码

 public Employee checkEmployee(Employee emp) {
        String sql = "select * from employee where name=? and pwd=?" ;
        List<Employee> list = sessionFactory.getCurrentSession().createSQLQuery(sql)
        .setString(0, emp.getName()+"")
        .setString(1, emp.getPwd()).list();
        if(list.size()>=1)
        {           
            return  list.get(0); //cannot be cast to com.iflve.domain.Employee
        }else{
            return null;
        }

    }

cannot be cast to com.iflve.domain.Employee
换成这个return (Employee)list.get(0);还是报错,代码完全是按照教程上写的。求高手指点 ,这里的类型应该是可以直接转化的呀,求指点

展开
收起
小旋风柴进 2016-03-03 14:27:08 4682 分享 版权
3 条回答
写回答
取消 提交回答
  • 这个是类型转换错误,注意看下代码是否有强制类型转换的代码。
    2019-07-17 18:51:23
    赞同 展开评论
  • 显然这个运行是错误,你在在进行类型强制转化时候报错,您注意看看Employee类的继承结构是否和你的源类型的相关性
    2019-07-17 18:51:23
    赞同 展开评论
  • List list = sessionFactory.getCurrentSession().createSQLQuery(sql)这句话你查询出来的结果转换了是否正确,如果用了orm相关的映射,看看相关字段是否缺失,以及字符拼写是否正确,以及映射是否正确。

    2019-07-17 18:51:23
    赞同 展开评论
问答分类:
SQL
问答地址: