0

我一直遇到问题休眠,我是新手。我的要求是根据以下查询获取数据:

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 回答