0
 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 のデータにアクセスできます

しかし、例外はキャストできませstudbean1Student_change

4

2 に答える 2

1

Student_changeの一般化としてモデル化した場合studBean1、 aList<studBean1>は のサブタイプではありませんList<Student_change>List<studBean1>を取得して繰り返し、ループ内でキャストを実行してみてください。

なぜ-is-liststring-not-a-subtype-of-listobject

とにかく、コードには修正が必要な問題が他にもあります (質問へのコメントを参照してください)。

于 2013-07-03T15:32:54.503 に答える
0

' query.list ' は、ジェネリックで使用しない限り、Type Object のリストを返します。現在のコードでは、Object のリストを返し、それを List of Student にキャストしようとしています。

オブジェクトを1つずつキャストする必要があると思います

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();
于 2013-07-03T15:32:43.770 に答える