hibernate 多个表查询显示的问题

8088 2004-09-07 04:11:58
java中:
Query query = session.createQuery("select A.atest,B.btest,C.ctest from AA A,BB B,CC C where .....");
return query.list();

jsp中:
<%for (int i=0;i<list.size();i++){%>
<%=((AA)list.get(i)).getAtest()%> --这里出 错:java.lang.ClassCastException, 如果换成 <%=list.get(i)%> 则显示"[Ljava.lang.Object;@120d68d "
<%}%>

...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
8088 2004-09-08
  • 打赏
  • 举报
回复
是的,我按西门疯雪的方法做的.可以取到了.结贴
niyboy 2004-09-08
  • 打赏
  • 举报
回复


就想楼上说的用iterator来做;

然后:

iterator it = list.iterator();
while(it.hasNext())
{
Object[] row = (Object[])it.next();
String st1= (String) row[0];
String st2= (String) row[1];
String st3= (String) row[2];
.
.
.
.
.
String stn=(String) row[n];

}

就这样循环就可以搞定;
bon_jovi 2004-09-07
  • 打赏
  • 举报
回复
数组。最好用iterator接口。这里假设从数据库取的三个字段都是String
iterator its = list.iterator();
while(its.hasNext())
{
Object[] row = (Object[])its.next();
String atest = (String) row[0];
String btest = (String) row[1];
String ctest = (String) row[2];

do something.......
}
mor 2004-09-07
  • 打赏
  • 举报
回复
这说明是一个数组,Hibernate我不太熟,你再看看文档吧
8088 2004-09-07
  • 打赏
  • 举报
回复
是"[Ljava.lang.Object;"类型
mor 2004-09-07
  • 打赏
  • 举报
回复
java.lang.ClassCastException是强制类型转换错误,
你用<%=list.get(i).getClass().getName()%>试试看到底是什么类型

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧