多表连查的时候,list集合里还有一个集合,我想取出其中一个实体的属性该怎么办
HQL语句: Query query =session.createQuery("from News n,NewsType t where n.grade='未审核' and n.newsType.id=t.id and t.id="+id);
查询出的是两个实体 其实我只需要News实体 但不把NewsType 写上 条件加不上
断点的时候是这样的
list
elementDate
-[0]
-[0] News
-[1] NewsType
-[1]
-[0] News
-[1] NewsType
我是用struts2标签展示 这样的数据不知道该怎么写 所以我就在后台想转换一下
List list = new ArrayList();
list =investService.doFindNewsByNewsType(news.getNewsType().getId());
for(int i=0;i<list.size();i++){
List list2 = (List)list.get(i); //取出集合 这步出错 说不能将Object转换为List
News news =(News)list2.get(0); //取出实体
newsList.add(news);
}
求解 帮忙啊
------解决方案--------------------
写成这样试试吧。
Query query =session.createQuery("select n from News n,NewsType t where n.grade='未审核' and n.newsType.id=t.id and t.id="+id);
------解决方案--------------------
Query query =session.createQuery("select new News() from News n,NewsType t where n.grade='未审核' and n.newsType.id=t.id and t.id="+id);
News news = (News)query.uniqueResult();