0

私はHibernateの問題で立ち往生しています、私はこれに不慣れです。私の要件は、以下のクエリに基づいてデータをフェッチすることです。

return (List<MssSowLineDetail>) yodaMssHibernateFactory.getCurrentSession().
createQuery("Select MSLD.itemDefinition.itemId from 
             MssSowLineDetail MSLD, " +" MssSowHeaderDetail MSHD 
             Where MSHD.sowHeaderId = MSLD.mssSowHeaderDetail.sowHeaderId "
            +"AND MSLD.itemDefinition.itemId = '" + itemNumber +"'").list();

クエリが実行され、リストサイズは3ですが、

MssSowLineDetail mssSowLineDetail = mssSowLineDetailList.get(0);

次の例外が発生します

 java.lang.ClassCastException: java.lang.String cannot be cast to com.att.yoda.mss.dataInfo.MssSowLineDetail

誰かが迅速に返信していただければ幸いです。詳細を提供する必要がある場合は、ここに返信してください。

4

2 に答える 2

0

だけではなく Bean データを取得する場合はid、クエリで " select MSLD from ..." の代わりに " " をSelect MSLD.itemDefinition.itemId from ...使用します。

于 2013-03-05T06:04:44.073 に答える
0

それは明らかです。idオブジェクト全体ではなく取得しています。使用SELECT * ...してみると、オブジェクトのリストが表示されます。

于 2013-03-05T06:48:18.810 に答える