2017-12-05 4 views
1

私はjava.math.BigIntegerでエラーがありますが、クラス名にキャストできません。java.math.BigIntegerはfr.pc30.bean.Interventionにキャストできません

これはfindTicketTaskAnnulerの戻り値の型がInterventionListですが、クエリで使用すると、基本的にIDのみを選択

SELECT i.id FROM intervention i 

を指定して私の要求

public List<Intervention> findTicketTaskAnnuler(long partnaireId,InterventionType type) 
return getSession().createSQLQuery(new StringBuilder("") 
       .append("SELECT i.id FROM intervention i ") 
       .append("INNER JOIN logged_event lo on lo.NEW_ID = i.id and lo.OPERATION ='ANNULATION' and lo.DATE_CREATION =CURDATE() and lo.USER != :name ") 
       .append("WHERE i.ID_PARTENAIRE = :partnaireId ") 
       .append("and i.annulee=1 ") 
       .append("order by i.id desc ").toString()) 
       .setParameter("partnaireId", partnaireId) 
       .setParameter("name", type.getName()) 
       .list(); 

答えて

0

です(私があるとしていることBigInteger) したがって、hibernateはその型を返し、コードはInterventionクラスにキャストしようとします。

List<Long> として、あなたの戻り値の型を変更するか、またはあなたがエンティティにマッピングするために必要なすべてのフィールドを得るためにあなたのクエリを変更する

+0

はあなたに感謝しかし、私は介入から私を、私を選択するが、変更する場合には、まだ「私は」「フィールドリスト」 –

+0

はあなたに感謝しかし、私が変更された場合、私は介入から私を選択したが、まだ不明な列を誤って 不明な列をエラー「i」をに7分前に –

+0

オハイオ州sry私はそれがSQLのクエリだった...ええととにかくはいあなたは戻ってタイプを変更することができますので、bigintegerとエンティティではないだけを選択している原因はありません – Zeromus

0

あなたのクエリが(私はBigIntegerのデータ型を持っていると思います)IDのリストを取得している、あなたが保存しようとしていますクエリ出力をInterventionオブジェクトのリストに変更すると、リストがList<Long>に変更されるか、クエリが変更されてSELECT *クエリのすべての列が選択されます。

+0

あなたが選択したリストをにすると、オブジェクトにを投げ入れることはできません。 解決方法が見つかりました ありがとうございました –

+0

慎重に読んだか、または – Hiren

関連する問題