我一直遇到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
如果有人能快速回复,我真的很感激。如果我需要提供更多详细信息,请在此回复。
答案 0 :(得分:0)
如果要检索bean数据,而不仅仅是id
,那么在查询中使用
“select MSLD from ...
”
代替
“Select MSLD.itemDefinition.itemId from ...
”
答案 1 :(得分:0)
这很明显。您正在检索id
而不是整个对象。尝试使用SELECT * ...
,您将获得一个对象列表。