2009-07-15 6 views
0

次のエラーが発生しているHQLのselect句を使用しているときに.studentがmysqlテーブルです。 エラー: 休止:以下選択句でhqlエラーが発生する

をjava.lang.Stringで学生studentcla0_ からcol_0_0_としてstudentcla0_.vStudentNameを選択するには、コードです:

public static void querySubject(Session session) 
     { 
      String sql_query="select stud.strStudentName from StudentClass as stud"; 
      Query query1=session.createQuery(sql_query); 

     for(Iterator it=query1.iterate();it.hasNext();) 
     { 
      Object[] row = (Object[]) it.next(); 
      System.out.println("Subject Name:"+row[0]); 

     } 

     return; 
    } 
+0

残りのエラーは投稿してください。ありがとう。 –

答えて

0

それはHQLまたはSQLです。 SQLしよう:

session.createSQLQuery(...) 
+0

いいえ、それはHQLです - 質問にはSQLへの翻訳を見ることができます... –

+0

だから、例外はClassCast Exception for Object [] row =(Object [])it.next(); クエリはStringのリストを返す必要があります。 –

0

だけで確認する - あなたは「学生」と呼ばれるデータベース内のテーブルを持っており、それはある種の文字列型である「vStudentName」という列を持っていますか?マッピングが完了し、このSQLへの変換が行われました。

select studentcla0_.vStudentName as col_0_0_ 
from student studentcla0_ 

これはデータベースに対して直接実行されるのですか、それともエラーがありますか?

0

1つの値(プロパティまたはエンティティ)を選択すると、Hibernateはその値を直接返します。それはではなく、はオブジェクト配列にラップされます。詳細はhereを参照してください。したがって、コードは次のようになります。

for(Iterator it=query1.iterate(); it.hasNext();) { 
    System.out.println("Subject Name:"+ it.next()); 
} 
関連する問題