将异常从一个类转换为另一个类

时间:2013-07-03 15:15:32

标签: java hibernate casting

 Session session2 = HibernateUtil.getSessionFactory().openSession();
        Transaction tx2 = session2.beginTransaction();

      Query q=session2.createQuery("from studBean1 group by SNo");
        List<Student_change> l1=(List<Student_change>)q.list();
        //Student_change sc=new Student_change();



       for(Student_change sc3:l1){
           session2.save(sc3);
           tx2.commit();
           session2.close();

这里来自studBean1的数据我可以将数据访问到Student_change

但它提供的摘要无法从studbean1投射到Student_change

2 个答案:

答案 0 :(得分:1)

鉴于您已将Student_change建模为studBean1的概括,List<studBean1>不是List<Student_change>的子类型。尝试获取List<studBean1>,迭代它并在循环中执行强制转换。

why-is-liststring-not-a-subtype-of-listobject

无论如何,您的代码中有更多问题需要修改(请参阅对您问题的评论)。

答案 1 :(得分:0)

'query.list'返回一个Type Object列表,除非你将它与泛型一起使用, 在您当前的代码中,您将返回一个Object列表并尝试将其转换为Student of List

我相信一个接一个地投射物体

Session session2 = HibernateUtil.getSessionFactory().openSession(); Transaction tx2 = session2.beginTransaction();

  Query q=session2.createQuery("from studBean1 group by SNo");
    List<Object> l1=Listq.list();
    //Student_change sc=new Student_change();



   for(Object obj:l1){
        Student_change sc3 = (Student_Change)obj;
       session2.save(sc3);
       tx2.commit();
       session2.close();

Query q=session2.createQuery("from studBean1 group by SNo"); List<Object> l1=Listq.list(); //Student_change sc=new Student_change(); for(Object obj:l1){ Student_change sc3 = (Student_Change)obj; session2.save(sc3); tx2.commit(); session2.close();